Commit 413ec213 by Jason Merrill

(expand_end_bindings): Don't bother emitting cleanups

        after a barrier.

From-SVN: r7432
parent d9e1ab8d
......@@ -2955,6 +2955,9 @@ expand_end_bindings (vars, mark_ends, dont_jump_in)
if (thisblock->data.block.stack_level != 0
|| thisblock->data.block.cleanups != 0)
{
/* Only clean up here if this point can actually be reached. */
if (GET_CODE (get_last_insn ()) != BARRIER)
{
/* Don't let cleanups affect ({...}) constructs. */
int old_expr_stmts_for_value = expr_stmts_for_value;
rtx old_last_expr_value = last_expr_value;
......@@ -2979,6 +2982,7 @@ expand_end_bindings (vars, mark_ends, dont_jump_in)
emit_stack_save (SAVE_NONLOCAL, &nonlocal_goto_stack_level,
NULL_RTX);
}
}
/* Any gotos out of this block must also do these things.
Also report any gotos with fixups that came to labels in this
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment