------- Comment #1 from steven at gcc dot gnu dot org 2007-03-13 18:55 ------- I believe this is the proper fix:
Index: cfglayout.c =================================================================== --- cfglayout.c (revision 122858) +++ cfglayout.c (working copy) @@ -697,7 +697,6 @@ fixup_reorder_chain (void) #ifdef ENABLE_CHECKING verify_insn_chain (); #endif - delete_dead_jumptables (); /* Now add jumps and labels as needed to match the blocks new outgoing edges. */ @@ -1193,6 +1192,9 @@ cfg_layout_finalize (void) fixup_fallthru_exit_predecessor (); fixup_reorder_chain (); + rebuild_jump_labels (get_insns ()); + delete_dead_jumptables (); + #ifdef ENABLE_CHECKING verify_insn_chain (); #endif -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31159