summaryrefslogtreecommitdiffstats
path: root/gcc/objc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/objc')
-rw-r--r--gcc/objc/Make-lang.in4
-rw-r--r--gcc/objc/objc-act.c18
-rw-r--r--gcc/objc/objc-act.h2
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
OpenPOWER on IntegriCloud