optabs.c (emit_indirect_jump): Don't try an emit a jump if the target doesn't have...
authorNathan Sidwell <nathan@acm.org>
Tue, 25 Aug 2015 19:43:02 +0000 (19:43 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Tue, 25 Aug 2015 19:43:02 +0000 (19:43 +0000)
* optabs.c (emit_indirect_jump): Don't try an emit a jump if the
target doesn't have one.

From-SVN: r227185

gcc/ChangeLog
gcc/optabs.c

index 3900191fceeb5e8103d88b38f230de24be65b5d5..8cb2aeb7633dbc4e2ce71c0902ee6bbec5c3d05b 100644 (file)
@@ -1,3 +1,8 @@
+2015-08-25  Nathan Sidwell  <nathan@acm.org>
+
+       * optabs.c (emit_indirect_jump): Don't try an emit a jump if the
+       target doesn't have one.
+
 2015-08-25  Segher Boessenkool  <segher@kernel.crashing.org>
 
        PR target/67346
index 97c1d387672c22d59b93654cdfed1c0b8176f6ad..e533e6efb3612cf43e85fecb99f983b213d068ce 100644 (file)
@@ -4488,11 +4488,13 @@ emit_indirect_jump (rtx loc)
 {
   if (!targetm.have_indirect_jump ())
     sorry ("indirect jumps are not available on this target");
-
-  struct expand_operand ops[1];
-  create_address_operand (&ops[0], loc);
-  expand_jump_insn (targetm.code_for_indirect_jump, 1, ops);
-  emit_barrier ();
+  else
+    {
+      struct expand_operand ops[1];
+      create_address_operand (&ops[0], loc);
+      expand_jump_insn (targetm.code_for_indirect_jump, 1, ops);
+      emit_barrier ();
+    }
 }
 \f