diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index df78c4269c0..d170b3db10d 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +1999-07-14 Andrew Haley + + * 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 * expr.c (force_evaluation_order): Save the COMPOUND_EXPR'ed diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 8998bdb3a58..d47ed1af857 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -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;