------- Comment #4 from rguenth at gcc dot gnu dot org 2008-05-17 12:56 ------- Confirmed. At -O0 we have after CFG building (t1.cpp)
# BLOCK 8 # PRED: 5 (fallthru) 6 (fallthru) 7 (fallthru) <L6>:; __comp_dtor (&x); switch (finally_tmp.3) { case 1: goto <L7>; default : goto <L8>; } # SUCC: 9 10 # BLOCK 9 # PRED: 8 <L7>:; return; # SUCC: EXIT This would fix it. Index: tree-eh.c =================================================================== --- tree-eh.c (revision 135433) +++ tree-eh.c (working copy) @@ -1350,9 +1350,6 @@ decide_copy_try_finally (int ndests, tre { int f_estimate, sw_estimate; - if (!optimize) - return false; - /* Finally estimate N times, plus N gotos. */ f_estimate = estimate_num_insns (finally, &eni_size_weights); f_estimate = (f_estimate + 1) * ndests; -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2008-05-17 12:56:06 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36254