summaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-28 20:44:58 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-28 20:44:58 +0000
commitcc7d6aed6b7186313ada1a58107b9dbcaac2f435 (patch)
treeabc0f2fe4784df2eb251f4c04a0493fec3eac91d /gcc/function.c
parenta336eb4b5042c9ebc2d044d29202649fd9fa2759 (diff)
downloadgcc-cc7d6aed6b7186313ada1a58107b9dbcaac2f435.tar.gz
Hookize TARGET_UNWIND_INFO et al.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164701 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 04a2ebcb4f1..535c053860f 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -4897,7 +4897,7 @@ expand_function_end (void)
/* Output the label for the actual return from the function. */
emit_label (return_label);
- if (USING_SJLJ_EXCEPTIONS)
+ if (targetm.except_unwind_info () == UI_SJLJ)
{
/* Let except.c know where it should emit the call to unregister
the function context for sjlj exceptions. */
@@ -5055,7 +5055,8 @@ expand_function_end (void)
/* @@@ This is a kludge. We want to ensure that instructions that
may trap are not moved into the epilogue by scheduling, because
we don't always emit unwind information for the epilogue. */
- if (!USING_SJLJ_EXCEPTIONS && cfun->can_throw_non_call_exceptions)
+ if (cfun->can_throw_non_call_exceptions
+ && targetm.except_unwind_info () != UI_SJLJ)
emit_insn (gen_blockage ());
/* If stack protection is enabled for this function, check the guard. */