Richard Henderson wrote:
> On 07/20/2011 11:24 AM, Ulrich Weigand wrote:
> >> >                    BB_HEAD (new_bb) = new_label;
> > new_bb is now always NULL at this point, and the assignment crashes.
> > 
> > I guess that assignment should now be just deleted as well, since
> > this is done by create_basic_block later?
> 
> Doh.  Yes, that's correct.

OK, I've checked in the patch below.

Thanks,
Ulrich

ChangeLog:

        * bb-reorder.c (fix_crossing_conditional_branches): Fix crash by
        removing now-unnecessary assignment.

Index: gcc/bb-reorder.c
===================================================================
*** gcc/bb-reorder.c    (revision 176527)
--- gcc/bb-reorder.c    (working copy)
*************** fix_crossing_conditional_branches (void)
*** 1603,1609 ****
  
                  new_label = gen_label_rtx ();
                  emit_label (new_label);
-                 BB_HEAD (new_bb) = new_label;
  
                  gcc_assert (GET_CODE (old_label) == LABEL_REF);
                  old_label = JUMP_LABEL (old_jump);
--- 1603,1608 ----


-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  ulrich.weig...@de.ibm.com

Reply via email to