[Bug rtl-optimization/61641] [4.9/4.10 Regression] undefined label in jump_table_data

danglin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Aug 8 18:52:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61641

--- Comment #6 from John David Anglin <danglin at gcc dot gnu.org> ---
The patch does what it's supposed to but it's not right:

.LVL58:
        comib,<> 0,%r28,.L70
        nop
.L74:
.L80:
        .begin_brtab
        .word .L73-.L80
        .word .L81-.L80
        .word .L74-.L80
        .word .L84-.L80
        .word .L74-.L80
        .word .L74-.L80
        .word .L74-.L80
        .word .L72-.L80
        .end_brtab
.L72:
.LBE104:
.LBE103:
.LBB105:
.LBB106:
        .loc 2 228 0
        ldi 3,%r28

The branch table is in the text section.  It appears from the above
that the execution flow can drop into the branch table.  So, either
removal of the associated casesi insn was wrong or the branch table
needs to be removed when the table label is removed.



More information about the Gcc-bugs mailing list