diff options
author | Ziemowit Laski <zlaski@apple.com> | 2004-09-09 01:49:00 +0000 |
---|---|---|
committer | Ziemowit Laski <zlaski@gcc.gnu.org> | 2004-09-09 01:49:00 +0000 |
commit | 5f070bc759432417ea6bb27d743b6f95ae034c68 (patch) | |
tree | 853382fd4d63856099c92d462a258734abb1ea00 /gcc/cp | |
parent | deb176fa3bb3d05c3fba4f1dc36735853bc18804 (diff) | |
download | gcc-5f070bc759432417ea6bb27d743b6f95ae034c68.zip gcc-5f070bc759432417ea6bb27d743b6f95ae034c68.tar.gz gcc-5f070bc759432417ea6bb27d743b6f95ae034c68.tar.bz2 |
Make-lang.in (cp/semantics.o): Depend on c-common.h.
[gcc/cp/ChangeLog]
2004-09-08 Ziemowit Laski <zlaski@apple.com>
* Make-lang.in (cp/semantics.o): Depend on c-common.h.
* semantics.c: Include c-common.h.
(finish_compound_stmt): Call objc_clear_super_receiver().
From-SVN: r87219
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/Make-lang.in | 2 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 9 |
3 files changed, 15 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 76c7de3..2792cca 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,11 @@ 2004-09-08 Ziemowit Laski <zlaski@apple.com> + * Make-lang.in (cp/semantics.o): Depend on c-common.h. + * semantics.c: Include c-common.h. + (finish_compound_stmt): Call objc_clear_super_receiver(). + +2004-09-08 Ziemowit Laski <zlaski@apple.com> + * cp-tree.h (do_poplevel): New prototype. * semantics.c (do_poplevel): Make externally visible. diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index 3e91bf9..29a533b 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -267,7 +267,7 @@ cp/repo.o: cp/repo.c $(CXX_TREE_H) $(TM_H) toplev.h diagnostic.h \ gt-cp-repo.h cp/semantics.o: cp/semantics.c $(CXX_TREE_H) $(TM_H) except.h toplev.h \ flags.h debug.h output.h $(RTL_H) $(TIMEVAR_H) $(EXPR_H) \ - tree-inline.h cgraph.h $(TARGET_H) + tree-inline.h cgraph.h $(TARGET_H) c-common.h cp/dump.o: cp/dump.c $(CXX_TREE_H) $(TM_H) tree-dump.h cp/optimize.o: cp/optimize.c $(CXX_TREE_H) $(TM_H) rtl.h integrate.h insn-config.h \ input.h $(PARAMS_H) debug.h tree-inline.h tree-gimple.h $(TARGET_H) diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index b31e1e2..5d50ea6 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -31,6 +31,7 @@ #include "tm.h" #include "tree.h" #include "cp-tree.h" +#include "c-common.h" #include "tree-inline.h" #include "tree-mudflap.h" #include "except.h" @@ -1088,7 +1089,13 @@ finish_compound_stmt (tree stmt) else if (STATEMENT_LIST_NO_SCOPE (stmt)) stmt = pop_stmt_list (stmt); else - stmt = do_poplevel (stmt); + { + /* Destroy any ObjC "super" receivers that may have been + created. */ + objc_clear_super_receiver (); + + stmt = do_poplevel (stmt); + } /* ??? See c_end_compound_stmt wrt statement expressions. */ add_stmt (stmt); |