diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-11-10 20:03:49 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-11-10 20:03:49 +0000 |
commit | edf8c644ff4706070f741122edb2ff2d9b81c453 (patch) | |
tree | bcf117ed27d06a44b18a74813ec3d1623001099e /gcc/except.c | |
parent | a9a2f83c7e239a70b5b972c9da28493a01afbb18 (diff) | |
download | gcc-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.c | 1 |
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); } } |