aboutsummaryrefslogtreecommitdiff
path: root/gcc/optabs.c
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2014-11-05 12:14:10 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2014-11-05 12:14:10 +0000
commit68df21f784949554ece3290636602f2b16d4df54 (patch)
tree4e395d51700f5f029db72fab7639174d614f22bc /gcc/optabs.c
parent96023bbaff939ca5fe957688a940f045201c55c1 (diff)
downloadgcc-68df21f784949554ece3290636602f2b16d4df54.zip
gcc-68df21f784949554ece3290636602f2b16d4df54.tar.gz
gcc-68df21f784949554ece3290636602f2b16d4df54.tar.bz2
Allow a port not to define an indirect_jump pattern.
* optabs.c (emit_indirect_jump): Test HAVE_indirect_jump and emit a sorry if necessary. From-SVN: r217120
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r--gcc/optabs.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 7e64eac..6278d7d 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -4531,13 +4531,16 @@ prepare_float_lib_cmp (rtx x, rtx y, enum rtx_code comparison,
/* Generate code to indirectly jump to a location given in the rtx LOC. */
void
-emit_indirect_jump (rtx loc)
+emit_indirect_jump (rtx loc ATTRIBUTE_UNUSED)
{
+#ifndef HAVE_indirect_jump
+ sorry ("indirect jumps are not available on this target");
+#else
struct expand_operand ops[1];
-
create_address_operand (&ops[0], loc);
expand_jump_insn (CODE_FOR_indirect_jump, 1, ops);
emit_barrier ();
+#endif
}
#ifdef HAVE_conditional_move