expr.c (expand_expr): Do not return the last statement in a block as the block's value.

1999-07-14  Andrew Haley  <aph@cygnus.com>
        * expr.c (expand_expr): Do not return the last statement in a
        block as the block's value.

From-SVN: r28112
This commit is contained in:
Andrew Haley 1999-07-15 05:17:08 +00:00 committed by Andrew Haley
parent 39df13d95d
commit e533f648af
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
1999-07-14 Andrew Haley <aph@cygnus.com>
* expr.c (expand_expr): Do not return the last statement in a
block as the block's value.
Sat Jul 3 22:26:32 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* expr.c (force_evaluation_order): Save the COMPOUND_EXPR'ed

View File

@ -1895,7 +1895,6 @@ java_lang_expand_expr (exp, target, tmode, modifier)
{
tree local;
tree body = BLOCK_EXPR_BODY (exp);
struct rtx_def *to_return;
pushlevel (2); /* 2 and above */
expand_start_bindings (0);
local = BLOCK_EXPR_DECLS (exp);
@ -1913,10 +1912,11 @@ java_lang_expand_expr (exp, target, tmode, modifier)
emit_queue ();
body = TREE_OPERAND (body, 1);
}
to_return = expand_expr (body, target, tmode, modifier);
expand_expr (body, const0_rtx, VOIDmode, 0);
emit_queue ();
poplevel (1, 1, 0);
expand_end_bindings (getdecls (), 1, 0);
return to_return;
return const0_rtx;
}
break;