From: bernds Date: Wed, 5 Nov 2014 12:14:10 +0000 (+0000) Subject: Allow a port not to define an indirect_jump pattern. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fb90ac03dc4b775267bee9a19333b2628bf3f0a8;p=thirdparty%2Fgcc.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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217120 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a9b456501c5a..46dd7426a7bc 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 7e64eacc6f70..6278d7daad14 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