http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25973
vries at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vries at gcc dot gnu.org --- Comment #11 from vries at gcc dot gnu.org 2011-11-22 14:51:37 UTC --- I can't reproduce the problem from the description with 4.7, but I can reproduce the problem from comment 4 with 4.7. Tentative patch for test-case from comment 4: ... Index: gcc/gimple-low.c =================================================================== --- gcc/gimple-low.c (revision 181172) +++ gcc/gimple-low.c (working copy) @@ -680,6 +680,12 @@ block_may_fallthru (const_tree block) case CLEANUP_POINT_EXPR: return block_may_fallthru (TREE_OPERAND (stmt, 0)); + case DO_STMT: + /* DO_STMT is part of cp-tree.def, so this should be moved to a + cp-specific file. */ + /* If DO_BODY doesn't fall thru, then DO_STMT doesn't either. */ + return block_may_fallthru (TREE_OPERAND (stmt, 1)); + default: return true; } ... Perhaps we should file a separate bug for the test-case from comment 4.