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/semantics.c | |
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/semantics.c')
-rw-r--r-- | gcc/cp/semantics.c | 9 |
1 files changed, 8 insertions, 1 deletions
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); |