This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
2.95: Fix problem with previous jump.c change
- To: <gcc-patches at gcc dot gnu dot org>
- Subject: 2.95: Fix problem with previous jump.c change
- From: Bernd Schmidt <bernds at redhat dot com>
- Date: Fri, 30 Mar 2001 10:51:23 +0100 (BST)
This caused a crash when compiling certain files in the Linux kernel,
since we got another CODE_LABEL as next2.
Bernd
Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/egcs/gcc/ChangeLog,v
retrieving revision 1.3667.4.342
diff -u -p -r1.3667.4.342 ChangeLog
--- ChangeLog 2001/03/28 09:02:07 1.3667.4.342
+++ ChangeLog 2001/03/30 09:49:46
@@ -1,3 +1,7 @@
+2001-03-30 Bernd Schmidt <bernds@redhat.com>
+
+ * jump.c (delete_barrier_successors): Fix error in last change.
+
2001-03-28 Bernd Schmidt <bernds@redhat.com>
* flow.c (propagate_block): When trying to delete a case vector, cope
Index: jump.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/jump.c,v
retrieving revision 1.59.4.6
diff -u -p -r1.59.4.6 jump.c
--- jump.c 2001/03/28 09:02:17 1.59.4.6
+++ jump.c 2001/03/30 09:49:47
@@ -2146,6 +2146,7 @@ delete_barrier_successors (f)
rtx next1 = next_nonnote_insn (insn);
rtx next2 = next1 ? next_nonnote_insn (next1) : 0;
if (next2 && GET_CODE (next1) == CODE_LABEL
+ && GET_CODE (next2) == JUMP_INSN
&& (GET_CODE (PATTERN (next2)) == ADDR_VEC
|| GET_CODE (PATTERN (next2)) == ADDR_DIFF_VEC))
{