summaryrefslogtreecommitdiffstats
path: root/gcc/except.c
diff options
context:
space:
mode:
authorloewis <loewis@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-19 18:25:27 +0000
committerloewis <loewis@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-19 18:25:27 +0000
commit78147e84503de46c41e27d1c461a37fcaf37a25f (patch)
tree741fb4699c20e2b971024d7d050b856266030a84 /gcc/except.c
parentf2d8342774dcc55765530e12f7f6914963b9d1b7 (diff)
downloadppe42-gcc-78147e84503de46c41e27d1c461a37fcaf37a25f.tar.gz
ppe42-gcc-78147e84503de46c41e27d1c461a37fcaf37a25f.zip
* emit-rtl.c (push_to_full_sequence, end_full_sequence): New functions.
* except.c (emit_cleanup_handler): Use them. (expand_end_all_catch): Likewise. * function.c (fixup_var_refs): Likewise. (expand_function_end): Clear catch_clauses_last. * rtl.h (push_to_full_sequence, end_full_sequence): Declare. * except.h (struct eh_status): New field x_catch_clauses_last. (catch_clauses_last): New define. * cp/except.c (expand_exception_blocks): Clear catch_clauses_last. * java/except.c (emit_handlers): Clear catch_clauses_last. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32643 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/except.c b/gcc/except.c
index 44507f82658..31467783b15 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -1865,10 +1865,9 @@ emit_cleanup_handler (entry)
end_sequence ();
/* And add it to the CATCH_CLAUSES. */
- push_to_sequence (catch_clauses);
+ push_to_full_sequence (catch_clauses, catch_clauses_last);
emit_insns (handler_insns);
- catch_clauses = get_insns ();
- end_sequence ();
+ end_full_sequence (&catch_clauses, &catch_clauses_last);
/* Now we've left the handler. */
pop_ehqueue ();
@@ -1990,10 +1989,9 @@ expand_end_all_catch ()
pop_label_entry (&outer_context_label_stack);
/* Add the new sequence of catches to the main one for this function. */
- push_to_sequence (catch_clauses);
+ push_to_full_sequence (catch_clauses, catch_clauses_last);
emit_insns (new_catch_clause);
- catch_clauses = get_insns ();
- end_sequence ();
+ end_full_sequence (&catch_clauses, &catch_clauses_last);
/* Here we fall through into the continuation code. */
}
OpenPOWER on IntegriCloud