diff options
Diffstat (limited to 'gcc/cfgrtl.c')
-rw-r--r-- | gcc/cfgrtl.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index 322d1a9..7027502 100644 --- a/gcc/cfgrtl.c +++ b/gcc/cfgrtl.c @@ -1705,21 +1705,19 @@ force_nonfallthru_and_redirect (edge e, basic_block target, rtx jump_label) { if (jump_label == ret_rtx) { -#ifdef HAVE_return + if (!HAVE_return) + gcc_unreachable (); + emit_jump_insn_after_setloc (gen_return (), BB_END (jump_block), loc); -#else - gcc_unreachable (); -#endif } else { gcc_assert (jump_label == simple_return_rtx); -#ifdef HAVE_simple_return + if (!HAVE_simple_return) + gcc_unreachable (); + emit_jump_insn_after_setloc (gen_simple_return (), BB_END (jump_block), loc); -#else - gcc_unreachable (); -#endif } set_return_jump_label (BB_END (jump_block)); } |