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