Commit 06be9173 by Nick Clifton Committed by Nick Clifton

If RTL checking is enabled, make sure that emit_insn is not used to emit a

jump insn.

From-SVN: r31420
parent 711d877c
2000-01-14 Nick Clifton <nickc@cygnus.com>
* emit-rtl.c (emit_insn): If checking is enabled, make sure
that this function has not been used to emit a jump
instruction.
* jump.c (return_jump_1): Cope with being passed a null rtx.
2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* eh-common.h: PROTO -> PARAMS. * eh-common.h: PROTO -> PARAMS.
......
...@@ -2948,6 +2948,17 @@ emit_insn (pattern) ...@@ -2948,6 +2948,17 @@ emit_insn (pattern)
add_insn (insn); add_insn (insn);
} }
#ifdef ENABLE_RTL_CHECKING
if (insn
&& (returnjump_p (insn)
|| (GET_CODE (insn) == SET
&& SET_DEST (insn) == pc_rtx)))
{
warning ("ICE: emit_insn used where emit_jump_insn needed:\n");
debug_rtx (insn);
}
#endif
return insn; return insn;
} }
......
...@@ -3757,7 +3757,7 @@ returnjump_p_1 (loc, data) ...@@ -3757,7 +3757,7 @@ returnjump_p_1 (loc, data)
void *data ATTRIBUTE_UNUSED; void *data ATTRIBUTE_UNUSED;
{ {
rtx x = *loc; rtx x = *loc;
return GET_CODE (x) == RETURN; return x && GET_CODE (x) == RETURN;
} }
int int
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment