Fix for x86 RTL checking failures on mainline

David S. Miller davem@redhat.com
Tue Jun 11 23:13:00 GMT 2002


I've fixed this problem for now with the following patch so
people can get work done.  Jan, if you want to fix it some
other way, feel free.

2002-06-11  David S. Miller  <davem@redhat.com>

	* emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
	active_insn_p.

--- emit-rtl.c.~1~	Tue Jun 11 07:18:09 2002
+++ emit-rtl.c	Tue Jun 11 21:13:16 2002
@@ -4298,7 +4298,8 @@ emit_insn_after_scope (pattern, after, s
   after = NEXT_INSN (after);
   while (1)
     {
-      INSN_SCOPE (after) = scope;
+      if (active_insn_p (after))
+	INSN_SCOPE (after) = scope;
       if (after == last)
 	break;
       after = NEXT_INSN (after);
@@ -4317,7 +4318,8 @@ emit_jump_insn_after_scope (pattern, aft
   after = NEXT_INSN (after);
   while (1)
     {
-      INSN_SCOPE (after) = scope;
+      if (active_insn_p (after))
+	INSN_SCOPE (after) = scope;
       if (after == last)
 	break;
       after = NEXT_INSN (after);
@@ -4336,7 +4338,8 @@ emit_call_insn_after_scope (pattern, aft
   after = NEXT_INSN (after);
   while (1)
     {
-      INSN_SCOPE (after) = scope;
+      if (active_insn_p (after))
+	INSN_SCOPE (after) = scope;
       if (after == last)
 	break;
       after = NEXT_INSN (after);
@@ -4356,7 +4359,8 @@ emit_insn_before_scope (pattern, before,
   first = NEXT_INSN (first);
   while (1)
     {
-      INSN_SCOPE (first) = scope;
+      if (active_insn_p (first))
+	INSN_SCOPE (first) = scope;
       if (first == last)
 	break;
       first = NEXT_INSN (first);



More information about the Gcc-patches mailing list