aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/semantics.c
diff options
context:
space:
mode:
authorZiemowit Laski <zlaski@apple.com>2004-09-09 01:49:00 +0000
committerZiemowit Laski <zlaski@gcc.gnu.org>2004-09-09 01:49:00 +0000
commit5f070bc759432417ea6bb27d743b6f95ae034c68 (patch)
tree853382fd4d63856099c92d462a258734abb1ea00 /gcc/cp/semantics.c
parentdeb176fa3bb3d05c3fba4f1dc36735853bc18804 (diff)
downloadgcc-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.c9
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);