summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-29 02:34:31 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-29 02:34:31 +0000
commit637be39f421b23c745f14f52d76daf974cc93460 (patch)
tree60157e8d3e25add02a7ced7e4be8efda3680489b
parentf2d40c67ac93e5b777f21efff2184e377030605d (diff)
downloadgcc-637be39f421b23c745f14f52d76daf974cc93460.tar.gz
* semantics.c (finish_handler): End the scope of the handler
before attaching it to the statement-tree. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30250 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/semantics.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 96262b42d06..38e90b2f3e7 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+1999-10-28 Mark Mitchell <mark@codesourcery.com>
+
+ * semantics.c (finish_handler): End the scope of the handler
+ before attaching it to the statement-tree.
+
1999-10-28 Ian Lance Taylor <ian@zembu.com>
* rtti.c (build_dynamic_cast_1): Give a better error message for
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index de6cd08015c..d0a30ba79e3 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -887,10 +887,10 @@ finish_handler (blocks, handler)
}
}
+ do_poplevel ();
+
if (building_stmt_tree ())
RECHAIN_STMTS (handler, HANDLER_BODY (handler));
-
- do_poplevel ();
}
/* Begin a compound-statement. If HAS_NO_SCOPE is non-zero, the