diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2005-07-06 23:13:51 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2005-07-06 23:13:51 +0000 |
commit | 0b59e81ecb8de59520e6f8c908b6747ad9d46ee1 (patch) | |
tree | f2efd426934f11920300e56218db6c37a62be356 /gcc/function.c | |
parent | 3c2d01f108e3c527c4f37ef926fdd6ff90a93b01 (diff) | |
download | gcc-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.c | 10 |
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 (); |