http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007
--- Comment #1 from John David Anglin <danglin at gcc dot gnu.org> 2011-05-15 21:19:15 UTC --- The then and else labels are the same for the cond: Breakpoint 12, 0x00361cb4 in make_edges () at ../../gcc/gcc/tree-cfg.c:801 801 then_bb = label_to_block (then_label); (gdb) p debug_tree ($r25) <label_decl 7ade2630 L.118 type <void_type 7af39840 void VOID align 8 symtab 15 alias set -1 canonical type 7af39840 pointer_to_this <pointer_type 7af398a0>> ignored VOID file line 0 col 0 align 1 context <function_decl 7b01c580 byte_re_match_2_internal>> $22 = void (gdb) c Continuing. Breakpoint 10, 0x00361cb8 in make_edges () at ../../gcc/gcc/tree-cfg.c:801 801 then_bb = label_to_block (then_label); (gdb) disass 0x00361ca8,0x00361cc8 Dump of assembler code from 0x361ca8 to 0x361cc8: 0x00361ca8 <make_edges+1040>: ldo 3c(r24),r24 0x00361cac <make_edges+1044>: ldw c(ret0),r5 0x00361cb0 <make_edges+1048>: b,l 0x35a548 <label_to_block_fn>,rp 0x00361cb4 <make_edges+1052>: ldw 0(r9),r26 => 0x00361cb8 <make_edges+1056>: copy ret0,r4 0x00361cbc <make_edges+1060>: ldw 0(r9),r26 0x00361cc0 <make_edges+1064>: b,l 0x35a548 <label_to_block_fn>,rp 0x00361cc4 <make_edges+1068>: copy r5,r25 End of assembler dump. (gdb) p debug_tree ($r5) <label_decl 7ade2630 L.118 type <void_type 7af39840 void VOID align 8 symtab 15 alias set -1 canonical type 7af39840 pointer_to_this <pointer_type 7af398a0>> ignored VOID file line 0 col 0 align 1 context <function_decl 7b01c580 byte_re_match_2_internal>> $23 = void