diff options
Diffstat (limited to 'gcc/objc')
| -rw-r--r-- | gcc/objc/Make-lang.in | 4 | ||||
| -rw-r--r-- | gcc/objc/objc-act.c | 18 | ||||
| -rw-r--r-- | gcc/objc/objc-act.h | 2 |
3 files changed, 18 insertions, 6 deletions
diff --git a/gcc/objc/Make-lang.in b/gcc/objc/Make-lang.in index 7ece7058925..920683815e4 100644 --- a/gcc/objc/Make-lang.in +++ b/gcc/objc/Make-lang.in @@ -1,5 +1,5 @@ # Top level makefile fragment for GNU Objective-C -# Copyright (C) 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc. #This file is part of GNU CC. @@ -85,7 +85,7 @@ $(srcdir)/objc/objc-parse.y: $(srcdir)/c-parse.in $(SHELL) $(srcdir)/move-if-change tmp-objc-prs.y $(srcdir)/objc/objc-parse.y objc-act.o : $(srcdir)/objc/objc-act.c \ - $(CONFIG_H) $(TREE_H) $(RTL_H) system.h \ + $(CONFIG_H) $(TREE_H) $(RTL_H) system.h $(EXPR_H) \ $(srcdir)/c-tree.h $(srcdir)/c-common.h $(srcdir)/c-lex.h \ $(srcdir)/toplev.h $(srcdir)/flags.h $(srcdir)/objc/objc-act.h \ $(srcdir)/input.h $(srcdir)/function.h $(srcdir)/output.h diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index ba5837ad9f8..5bb4fcd3694 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -42,8 +42,11 @@ Boston, MA 02111-1307, USA. */ #include "config.h" #include "system.h" #include "tree.h" +#include "rtl.h" +#include "expr.h" #include "c-tree.h" #include "c-lex.h" +#include "c-common.h" #include "flags.h" #include "objc-act.h" #include "input.h" @@ -198,6 +201,7 @@ static void encode_aggregate_within PARAMS ((tree, int, int, int, int)); static const char *objc_demangle PARAMS ((const char *)); static const char *objc_printable_name PARAMS ((tree, int)); +static void objc_expand_function_end PARAMS ((void)); /* Misc. bookkeeping */ @@ -7410,12 +7414,18 @@ encode_method_def (func_decl) return result; } -void -finish_method_def () +static void +objc_expand_function_end () { METHOD_ENCODING (method_context) = encode_method_def (current_function_decl); +} +void +finish_method_def () +{ + lang_expand_function_end = objc_expand_function_end; finish_function (0); + lang_expand_function_end = NULL; /* Required to implement _msgSuper. This must be done AFTER finish_function, since the optimizer may find "may be used before set" errors. */ @@ -8172,7 +8182,7 @@ init_objc () { /* Add the special tree codes of Objective C to the tables. */ -#define LAST_CODE LAST_AND_UNUSED_TREE_CODE +#define LAST_CODE LAST_C_TREE_CODE gcc_obstack_init (&util_obstack); util_firstobj = (char *) obstack_finish (&util_obstack); @@ -8193,6 +8203,8 @@ init_objc () /* Change the default error function */ decl_printable_name = objc_printable_name; + lang_expand_expr = c_expand_expr; + lang_expand_decl_stmt = c_expand_decl_stmt; } static void diff --git a/gcc/objc/objc-act.h b/gcc/objc/objc-act.h index 05f7ad656f3..f13acc8f192 100644 --- a/gcc/objc/objc-act.h +++ b/gcc/objc/objc-act.h @@ -110,7 +110,7 @@ enum objc_tree_code { #ifdef OBJCPLUS dummy_tree_code = LAST_CPLUS_TREE_CODE, #else - dummy_tree_code = LAST_AND_UNUSED_TREE_CODE, + dummy_tree_code = LAST_C_TREE_CODE, #endif #include "objc-tree.def" LAST_OBJC_TREE_CODE |

