From: Bernd Schmidt Date: Wed, 5 Nov 2014 12:14:10 +0000 (+0000) Subject: Allow a port not to define an indirect_jump pattern. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=68df21f784949554ece3290636602f2b16d4df54;p=gcc.git 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 --- 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