This is the mail archive of the gcc-bugs@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]

Re: ICE in fixup_reorder_chain, at bb-reorder.c:633


On Thu, Sep 07, 2000 at 01:47:51PM -0400, John David Anglin wrote:
> #ifdef CASE_DROPS_THROUGH
> 	      /* Except for VAX.  Since we didn't have predication for the
> 		 tablejump, the fallthru block should not have moved.  */
> 	      if (RBI (bb)->index + 1 == RBI (e_fall->dest)->index)
> 		continue;
> #endif
> 	      abort ();
> 	    }
> 
> On the vax, CASE_DROPS_THROUGH is defined.  The comment states that the
> fallthru block can move on the vax and cause an abort.

Nay, the comment says *must* have moved such that it's now still
contiguous.

One possible fix is to add an additional jump after the case to go
to the correct block.  You should, however, investigate where the
block did wind up, and whether that choice made sense.  


r~

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