aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2009-04-22 11:31:56 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2009-04-22 11:31:56 +0000
commit4c33221ccd7955ab2e2e442b28fd4df277c1f728 (patch)
tree869fe1a9b21d0e0d0899b90686c82c84b6ee0c49 /gcc/function.c
parent9925bce0b85fd64eb1aa4afac20552781ecfa5e2 (diff)
downloadgcc-4c33221ccd7955ab2e2e442b28fd4df277c1f728.zip
gcc-4c33221ccd7955ab2e2e442b28fd4df277c1f728.tar.gz
gcc-4c33221ccd7955ab2e2e442b28fd4df277c1f728.tar.bz2
function.c (expand_function_end): Do not emit a jump to the "naked" return label for fall-through returns.
* function.c (expand_function_end): Do not emit a jump to the "naked" return label for fall-through returns. * except.c (sjlj_emit_function_exit): Always place the call to the unregister function at the location installed by expand_function_end. From-SVN: r146570
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 2c97597..60b7348 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -4804,7 +4804,6 @@ expand_function_end (void)
start_sequence ();
clobber_return_register ();
- expand_naked_return ();
seq = get_insns ();
end_sequence ();
@@ -4812,7 +4811,8 @@ expand_function_end (void)
}
/* Output the label for the naked return from the function. */
- emit_label (naked_return_label);
+ if (naked_return_label)
+ emit_label (naked_return_label);
/* @@@ This is a kludge. We want to ensure that instructions that
may trap are not moved into the epilogue by scheduling, because