aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMike Stump <mrs@gcc.gnu.org>1994-10-17 23:01:46 +0000
committerMike Stump <mrs@gcc.gnu.org>1994-10-17 23:01:46 +0000
commitf675499c88831fb14dab8d10a041034b813e72d9 (patch)
treeea4c81e70bfd193a4e8faf4e5d8cd2a01f65e8bf /gcc
parent02c1d408e26cfba29ae64906de31cf009e91567e (diff)
downloadgcc-f675499c88831fb14dab8d10a041034b813e72d9.zip
gcc-f675499c88831fb14dab8d10a041034b813e72d9.tar.gz
gcc-f675499c88831fb14dab8d10a041034b813e72d9.tar.bz2
except.c (expand_start_catch_block): Make sure the false label gets onto the permanent obstack...
* except.c (expand_start_catch_block): Make sure the false label gets onto the permanent obstack, as it is used for the exception table. From-SVN: r8288
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/except.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/cp/except.c b/gcc/cp/except.c
index fd50915..9821471 100644
--- a/gcc/cp/except.c
+++ b/gcc/cp/except.c
@@ -1136,13 +1136,12 @@ expand_start_catch_block (declspecs, declarator)
else
type = NULL_TREE;
- false_label_rtx = gen_label_rtx ();
- push_label_entry (&false_label_stack, false_label_rtx);
-
- /* This is saved for the exception table. */
+ /* These are saved for the exception table. */
push_rtl_perm ();
+ false_label_rtx = gen_label_rtx ();
protect_label_rtx = gen_label_rtx ();
pop_rtl_from_perm ();
+ push_label_entry (&false_label_stack, false_label_rtx);
push_label_entry (&false_label_stack, protect_label_rtx);
if (type)