------- Comment #10 from steven at gcc dot gnu dot org 2006-09-10 11:16 ------- I've decided to go with LABEL_PRESERVE_P after all...
Index: builtins.c =================================================================== --- builtins.c (revision 116785) +++ builtins.c (working copy) @@ -760,6 +760,12 @@ expand_builtin_setjmp (tree arglist, rtx emit_label (next_lab); + /* Because setjmp and longjmp are not represented in the CFG, a cfgcleanup + may find that the basic block starting with NEXT_LAB is unreachable. + The whole block, along with NEXT_LAB, would be removed. Make sure that + never happens. */ + LABEL_PRESERVE_P (next_lab) = 1; + expand_builtin_setjmp_receiver (next_lab); /* Set TARGET to one. */ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26983