This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH: tiny bbro glitch (committed)



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))
  	    {



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]