From e5a1e0e86473186c8b9ab77d713f942abd7effd7 Mon Sep 17 00:00:00 2001 From: Mike Stump Date: Thu, 15 May 1997 02:25:25 +0000 Subject: [PATCH] function.c (expand_function_end): Make sure we finish off any leftover exception handlers. * function.c (expand_function_end): Make sure we finish off any leftover exception handlers. From-SVN: r14067 --- gcc/function.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gcc/function.c b/gcc/function.c index 571ac62f2e6e..b2468dec5bc2 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5572,6 +5572,24 @@ expand_function_end (filename, line, end_bindings) if (end_bindings) expand_end_bindings (0, 0, 0); + /* Now handle any leftover exception regions that may have been + created for the parameters. */ + { + rtx last = get_last_insn (); + rtx label; + + expand_leftover_cleanups (); + + /* If the above emitted any code, may sure we jump around it. */ + if (last != get_last_insn ()) + { + label = gen_label_rtx (); + last = emit_jump_insn_after (gen_jump (label), last); + last = emit_barrier_after (last); + emit_label (label); + } + } + /* If we had calls to alloca, and this machine needs an accurate stack pointer to exit the function, insert some code to save and restore the stack pointer. */ -- 2.43.5