summaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>1997-11-10 20:03:49 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>1997-11-10 20:03:49 +0000
commitedf8c644ff4706070f741122edb2ff2d9b81c453 (patch)
treebcf117ed27d06a44b18a74813ec3d1623001099e /gcc/except.c
parenta9a2f83c7e239a70b5b972c9da28493a01afbb18 (diff)
downloadgcc-edf8c644ff4706070f741122edb2ff2d9b81c453.tar.gz
* stmt.c (expand_decl_cleanup_no_eh): New fn.
* except.c (expand_leftover_cleanups): do_pending_stack_adjust. Complete nested exception support. * except.c (do_pop_exception): Split out... (push_eh_cleanup): From here. Handle the EH region by hand. (expand_start_catch_block): Add a new level for the catch parm. Move the rethrow region outside the two cleanup regions. Protect the initializer for the catch parm with terminate. (expand_end_catch_block): Likewise. End the region for the eh_cleanup. * exception.cc (__cp_pop_exception): Now takes two parms. Handle popping off the middle of the stack. * tree.c (lvalue_p, real_lvalue_p): Handle TRY_CATCH_EXPR, WITH_CLEANUP_EXPR, and UNSAVE_EXPR. (build_cplus_new): Only wrap CALL_EXPRs. * init.c (expand_default_init): Handle a TRY_CATCH_EXPR around the constructor call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16419 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/except.c b/gcc/except.c
index bf9cebffca9..29adf3b66c9 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -1224,6 +1224,7 @@ expand_leftover_cleanups ()
}
}
+ do_pending_stack_adjust ();
free (entry);
}
}