From: Richard Kenner Date: Mon, 14 Mar 1994 13:12:41 +0000 (-0500) Subject: (bc_expand_start_cond): Set exit_label if not EXITFLAG. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8e2b13c322771648d25066146072cdb94c02e017;p=gcc.git (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 --- diff --git a/gcc/stmt.c b/gcc/stmt.c index 1b1ac32cd59..a8c369e6c17 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -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); }