This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH: tiny bbro glitch (committed)
- To: gcc-patches at gcc dot gnu dot org
- Subject: PATCH: tiny bbro glitch (committed)
- From: Jason Eckhardt <jle at cygnus dot com>
- Date: Tue, 2 May 2000 15:09:09 -0700 (PDT)
For some reason I was only checking for block end notes before deleting
them.
Committed:
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.
Index: bb-reorder.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/bb-reorder.c,v
retrieving revision 1.7
diff -c -3 -p -r1.7 bb-reorder.c
*** bb-reorder.c 2000/05/01 03:46:21 1.7
--- bb-reorder.c 2000/05/02 21:59:04
*************** remove_scope_notes ()
*** 1146,1155 ****
&& (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)
currbb->end = PREV_INSN (x);
if (PREV_INSN (x))
{
--- 1146,1156 ----
&& (NOTE_LINE_NUMBER (x) == NOTE_INSN_BLOCK_BEG
|| 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))
{