aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2005-07-06 23:13:51 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2005-07-06 23:13:51 +0000
commit0b59e81ecb8de59520e6f8c908b6747ad9d46ee1 (patch)
treef2efd426934f11920300e56218db6c37a62be356 /gcc/function.c
parent3c2d01f108e3c527c4f37ef926fdd6ff90a93b01 (diff)
downloadgcc-0b59e81ecb8de59520e6f8c908b6747ad9d46ee1.zip
gcc-0b59e81ecb8de59520e6f8c908b6747ad9d46ee1.tar.gz
gcc-0b59e81ecb8de59520e6f8c908b6747ad9d46ee1.tar.bz2
function.c (expand_function_end): Revert part of 2005-06-27 patch.
* function.c (expand_function_end): Revert part of 2005-06-27 patch. Do sjlj_emit_function_exit_after after return_label. From-SVN: r101673
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/function.c b/gcc/function.c
index ae8f7fd..1979185 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -4403,6 +4403,11 @@ expand_function_end (void)
/* Output the label for the actual return from the function. */
emit_label (return_label);
+ /* Let except.c know where it should emit the call to unregister
+ the function context for sjlj exceptions. */
+ if (flag_exceptions && USING_SJLJ_EXCEPTIONS)
+ sjlj_emit_function_exit_after (get_last_insn ());
+
/* If scalar return value was computed in a pseudo-reg, or was a named
return value that got dumped to the stack, copy that to the hard
return register. */
@@ -4530,11 +4535,6 @@ expand_function_end (void)
/* Output the label for the naked return from the function. */
emit_label (naked_return_label);
- /* Let except.c know where it should emit the call to unregister
- the function context for sjlj exceptions. */
- if (flag_exceptions && USING_SJLJ_EXCEPTIONS)
- sjlj_emit_function_exit_after (get_last_insn ());
-
/* If stack protection is enabled for this function, check the guard. */
if (cfun->stack_protect_guard)
stack_protect_epilogue ();