bb-reorder.c (remove_scope_notes): Check for both types of scope notes as the end...
authorJason Eckhardt <jle@cygnus.com>
Tue, 2 May 2000 22:05:06 +0000 (22:05 +0000)
committerJason Eckhardt <jle@gcc.gnu.org>
Tue, 2 May 2000 22:05:06 +0000 (22:05 +0000)
Tue May  2 17:06:53 2000  Jason Eckhardt  <jle@cygnus.com>

* bb-reorder.c (remove_scope_notes): Check for both types of scope
notes as the end of a basic block before deleting.

From-SVN: r33619

gcc/ChangeLog
gcc/bb-reorder.c

index 27efc8fb8732fa71832e91375282515b70f056b9..e14ceea75cde39f5c742d280bd4f6f88a65028f4 100644 (file)
@@ -1,3 +1,8 @@
+Tue May  2 17:06:53 2000  Jason Eckhardt  <jle@cygnus.com>
+
+       * bb-reorder.c (remove_scope_notes): Check for both types of scope
+       notes as the end of a basic block before deleting.
+
 2000-05-02  Mumit Khan  <khan@xraylith.wisc.edu>
 
        * final.c (final_start_function): Fix spelling of "necessary".
index 3a9a25fcbb6349f2780197cdb821fa832c28b1ed..8ef6bd17e126699ed568354f1055cb2626156c7d 100644 (file)
@@ -1146,10 +1146,11 @@ remove_scope_notes ()
          && (NOTE_LINE_NUMBER (x) == NOTE_INSN_BLOCK_BEG
              || NOTE_LINE_NUMBER (x) == NOTE_INSN_BLOCK_END))
        {
-         /* Check if the scope end happens to be the end of a bb.  */
-         if (currbb && x == currbb->end
-             && NOTE_LINE_NUMBER (x) == NOTE_INSN_BLOCK_END)
+         /* Check if the scope note happens to be the end of a bb.  */
+         if (currbb && x == currbb->end)
            currbb->end = PREV_INSN (x);
+         if (currbb && x == currbb->head)
+           abort ();
 
          if (PREV_INSN (x))
            {