(bc_expand_start_cond): Set exit_label if not EXITFLAG.
(bc_expand_end_bindings): Only define exit_label if set. Don't pop nesting_stack. From-SVN: r6783
This commit is contained in:
parent
542ed971f4
commit
8e2b13c322
@ -2256,6 +2256,8 @@ bc_expand_start_cond (cond, exitflag)
|
||||
struct nesting *thiscond = cond_stack;
|
||||
|
||||
thiscond->data.case_stmt.nominal_type = cond;
|
||||
if (! exitflag)
|
||||
thiscond->exit_label = gen_label_rtx ();
|
||||
bc_expand_expr (cond);
|
||||
bc_emit_bytecode (xjumpifnot);
|
||||
bc_emit_bytecode_labelref (BYTECODE_BC_LABEL (thiscond->exit_label));
|
||||
@ -3327,10 +3329,10 @@ bc_expand_end_bindings (vars, mark_ends, dont_jump_in)
|
||||
if (! TREE_USED (TREE_VALUE (decl)) && TREE_CODE (TREE_VALUE (decl)) == VAR_DECL)
|
||||
warning_with_decl (decl, "unused variable `%s'");
|
||||
|
||||
bc_emit_bytecode_labeldef (BYTECODE_BC_LABEL (thisbind->exit_label));
|
||||
if (thisbind->exit_label)
|
||||
bc_emit_bytecode_labeldef (BYTECODE_BC_LABEL (thisbind->exit_label));
|
||||
|
||||
/* Pop block/bindings off stack */
|
||||
POPSTACK (nesting_stack);
|
||||
POPSTACK (block_stack);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user