diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2015-07-05 07:48:04 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2015-07-05 07:48:04 +0000 |
commit | 95a3fb9de80862675c209a5db85fb8bffd1640e6 (patch) | |
tree | 7e0a5c2a9d942fed5937463e8da98772e4a9e08b /gcc/except.c | |
parent | 8684d89dea02aad5fba0ef4cef4eb7e51ea74450 (diff) | |
download | gcc-95a3fb9de80862675c209a5db85fb8bffd1640e6.tar.gz |
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.c | 13 |
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) |