diff options
author | Mark Mitchell <mark@codesourcery.com> | 1999-11-18 17:50:56 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 1999-11-18 17:50:56 +0000 |
commit | 1e4ceb6f9ea4f1e0d5afccbf4a135f47b0110b79 (patch) | |
tree | 1e51c7da99a24a8b91dc684f56f9817dae2fb778 /gcc/function.c | |
parent | 0e6b2107ca04f7ea045bf9456a12178d2133fbfe (diff) | |
download | gcc-1e4ceb6f9ea4f1e0d5afccbf4a135f47b0110b79.zip gcc-1e4ceb6f9ea4f1e0d5afccbf4a135f47b0110b79.tar.gz gcc-1e4ceb6f9ea4f1e0d5afccbf4a135f47b0110b79.tar.bz2 |
except.h (struct eh_entry): Add goto_entry_p.
* except.h (struct eh_entry): Add goto_entry_p.
(eh_region_from_symbol): Remove prototype.
* except.c (find_func_region_from_symbol): New function.
(emit_cleanup_handler): Likewise.
(eh_region_from_symbol): Make it static.
(add_new_handler): Verify the argument.
(find_func_region): Update comment.
(expand_eh_region_end): Expand handlers here, rater than waiting
until expand_leftover_cleanups or start_all_catch.
(expand_leftover_cleanups): Don't expand here.
(expand_start_all_catch): Or here.
(expand_rethrow): Check the return value from find_func_region.
* function.c (expand_function_end): Emit the catch_clauses.
From-SVN: r30576
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c index 7c491df..7014a8b 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -6436,6 +6436,9 @@ expand_function_end (filename, line, end_bindings) expand_leftover_cleanups (); + /* If there are any catch_clauses remaining, output them now. */ + emit_insns (catch_clauses); + catch_clauses = NULL_RTX; /* If the above emitted any code, may sure we jump around it. */ if (last != get_last_insn ()) { |