summaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2015-07-05 07:48:04 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2015-07-05 07:48:04 +0000
commit95a3fb9de80862675c209a5db85fb8bffd1640e6 (patch)
tree7e0a5c2a9d942fed5937463e8da98772e4a9e08b /gcc/except.c
parent8684d89dea02aad5fba0ef4cef4eb7e51ea74450 (diff)
gcc/
* target-insns.def (builtin_longjmp, builtin_setjmp_receiver) (builtin_setjmp_setup, exception_receiver, nonlocal_goto) (nonlocal_goto_receiver): New targetm instruction patterns. * builtins.c (expand_builtin_setjmp_setup): Use them instead of HAVE_*/gen_* interface. (expand_builtin_setjmp_receiver): Likewise. (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise. * except.c (expand_dw2_landing_pad_for_region): Likewise. From-SVN: r225422
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/gcc/except.c b/gcc/except.c
index d5f886e6a17..399034aab05 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -959,16 +959,11 @@ emit_to_new_bb_before (rtx_insn *seq, rtx insn)
void
expand_dw2_landing_pad_for_region (eh_region region)
{
-#ifdef HAVE_exception_receiver
- if (HAVE_exception_receiver)
- emit_insn (gen_exception_receiver ());
+ if (targetm.have_exception_receiver ())
+ emit_insn (targetm.gen_exception_receiver ());
+ else if (targetm.have_nonlocal_goto_receiver ())
+ emit_insn (targetm.gen_nonlocal_goto_receiver ());
else
-#endif
-#ifdef HAVE_nonlocal_goto_receiver
- if (HAVE_nonlocal_goto_receiver)
- emit_insn (gen_nonlocal_goto_receiver ());
- else
-#endif
{ /* Nothing */ }
if (region->exc_ptr_reg)