small problem in jump.c

Herman ten Brugge Haj.Ten.Brugge@net.HCC.nl
Mon Aug 16 13:35:00 GMT 1999


Hello,

I am currently working on using bounds-checking on gcc itself. I found
a small problem in jump.c. The code in delete_barrier_successors fails
when a insn like:

(jump_insn 44 43 38 (return) 380 {return_internal}
	(insn_list/c:REG_DEP_ANTI 43 (nil)) (nil))

is encountered. The comment above this statement is correct. The code
is not matching this comment.

1999-08-16 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>

	* jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
	exactly.

--- jump.c.org	Mon Aug 16 22:22:14 1999
+++ jump.c	Mon Aug 16 22:21:51 1999
@@ -2147,6 +2147,7 @@ delete_barrier_successors (f)
 	 gcse.  We eliminate such insns now to avoid having them
 	 cause problems later.  */
       else if (GET_CODE (insn) == JUMP_INSN
+	       && GET_CODE (PATTERN (insn)) == SET
 	       && SET_SRC (PATTERN (insn)) == pc_rtx
 	       && SET_DEST (PATTERN (insn)) == pc_rtx)
 	insn = delete_insn (insn);




More information about the Gcc-patches mailing list