From 68df21f784949554ece3290636602f2b16d4df54 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Wed, 5 Nov 2014 12:14:10 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/optabs.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a9b456501c5..46dd7426a7b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-11-05 Bernd Schmidt + + * optabs.c (emit_indirect_jump): Test HAVE_indirect_jump and emit a + sorry if necessary. + 2014-11-05 Alex Velenko * simplify-rtx.c (simplify_binary_operation_1): Div check added. diff --git a/gcc/optabs.c b/gcc/optabs.c index 7e64eacc6f7..6278d7daad1 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 -- 2.30.2