aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc/objc-lang.c
diff options
context:
space:
mode:
authorZiemowit Laski <zlaski@apple.com>2001-12-04 00:25:20 +0000
committerZiemowit Laski <zlaski@gcc.gnu.org>2001-12-04 00:25:20 +0000
commit4e089a757d0e64a243ab54969d2dcb094f88e3a6 (patch)
treed7559bc52fc1fa75f1a70224b1c1db1fc1998772 /gcc/objc/objc-lang.c
parent9904592eca02e2525bc70247c25b1aa54a5b3b99 (diff)
downloadgcc-4e089a757d0e64a243ab54969d2dcb094f88e3a6.zip
gcc-4e089a757d0e64a243ab54969d2dcb094f88e3a6.tar.gz
gcc-4e089a757d0e64a243ab54969d2dcb094f88e3a6.tar.bz2
Make-lang.in: Update copyright.
* objc/Make-lang.in: Update copyright. (OBJC_OBJS): Add objc-lang.o. (objc-lang.o): New rule. * objc/config-lang.in: Fix file description and update copyright. * objc/objc-act.c: Do not include langhooks.h and langhooks-def.h (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c. (objc_post_options): Move to objc-lang.c. (objc_init_options): Move to objc-lang.c. (objc_init): Make non-static. (HASHFUNCTION): Remove macro. (hash_func): New function. (hash_enter): Replace HASHFUNCTION with hash_func. (hash_lookup): Replace HASHFUNCTION with hash_func. (maybe_objc_tree_codes): New function. (init_objc): Move ObjC tree code initialization to maybe_objc_tree_codes(). * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard. (objc_init): New public prototype. (objc_decode_option): New public prototype. (maybe_add_objc_tree_codes): New public prototype. * objc/objc-lang.c: New file. (lang_hooks): Moved from objc-act.c. (objc_post_options): Moved from objc-act.c. (objc_init_options): Moved from objc-act.c. From-SVN: r47575
Diffstat (limited to 'gcc/objc/objc-lang.c')
-rw-r--r--gcc/objc/objc-lang.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/gcc/objc/objc-lang.c b/gcc/objc/objc-lang.c
new file mode 100644
index 0000000..33d2cde
--- /dev/null
+++ b/gcc/objc/objc-lang.c
@@ -0,0 +1,79 @@
+/* Language-dependent hooks for Objective-C.
+ Copyright 2001 Free Software Foundation, Inc.
+ Contributed by Ziemowit Laski <zlaski@apple.com>
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+#include "config.h"
+#include "system.h"
+#include "tree.h"
+#include "c-tree.h"
+#include "c-common.h"
+#include "toplev.h"
+#include "objc-act.h"
+#include "langhooks.h"
+#include "langhooks-def.h"
+
+static void objc_init_options PARAMS ((void));
+static void objc_post_options PARAMS ((void));
+
+#undef LANG_HOOKS_NAME
+#define LANG_HOOKS_NAME "GNU Objective-C"
+#undef LANG_HOOKS_INIT
+#define LANG_HOOKS_INIT objc_init
+#undef LANG_HOOKS_FINISH
+#define LANG_HOOKS_FINISH c_common_finish
+#undef LANG_HOOKS_INIT_OPTIONS
+#define LANG_HOOKS_INIT_OPTIONS objc_init_options
+#undef LANG_HOOKS_DECODE_OPTION
+#define LANG_HOOKS_DECODE_OPTION objc_decode_option
+#undef LANG_HOOKS_POST_OPTIONS
+#define LANG_HOOKS_POST_OPTIONS objc_post_options
+#undef LANG_HOOKS_PRINT_IDENTIFIER
+#define LANG_HOOKS_PRINT_IDENTIFIER c_print_identifier
+#undef LANG_HOOKS_SET_YYDEBUG
+#define LANG_HOOKS_SET_YYDEBUG c_set_yydebug
+/* Inlining hooks same as the C front end. */
+#undef LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN
+#define LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN \
+ c_cannot_inline_tree_fn
+#undef LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS
+#define LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS \
+ c_disregard_inline_limits
+#undef LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P
+#define LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P \
+ anon_aggr_type_p
+
+/* Each front end provides its own hooks, for toplev.c. */
+const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
+
+static void
+objc_init_options ()
+{
+ c_common_init_options (clk_objective_c);
+}
+
+/* Post-switch processing. */
+
+static void
+objc_post_options ()
+{
+ c_common_post_options ();
+}
+
+