diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 27efc8fb873..e14ceea75cd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue May 2 17:06:53 2000 Jason Eckhardt + + * 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 * final.c (final_start_function): Fix spelling of "necessary". diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c index 3a9a25fcbb6..8ef6bd17e12 100644 --- a/gcc/bb-reorder.c +++ b/gcc/bb-reorder.c @@ -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)) {