aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2001-12-04 10:30:04 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2001-12-04 10:30:04 +0000
commitd1bd43d95082914bdc5e6f782ed0a919ff4305e2 (patch)
tree764fcb1b30f9b79f8a0f0dc4fa3f07a61527c096 /gcc/c-common.c
parent1b3ea405b0f468e456251a24fede3012be58b3ff (diff)
downloadgcc-d1bd43d95082914bdc5e6f782ed0a919ff4305e2.zip
gcc-d1bd43d95082914bdc5e6f782ed0a919ff4305e2.tar.gz
gcc-d1bd43d95082914bdc5e6f782ed0a919ff4305e2.tar.bz2
stmt.c (expand_expr_stmt): Keep last_expr_value non-NULL iff we're interested in the result.
* stmt.c (expand_expr_stmt): Keep last_expr_value non-NULL iff we're interested in the result. Use it to tell whether to ignore results of enclosed expressions. (expand_start_stmt_expr): Added new argument, and initialize last_expr_value accordingly. * tree.h (expand_start_stmt_expr): Adjusted declaration. * c-common.c (c_expand_expr): Adjust call. * expr.c (expand_expr) [EXPR_WFL]: Pass const0_rtx down if ignoring the result. From-SVN: r47607
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r--gcc/c-common.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c
index a7d005b..41aaeb6 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -3409,7 +3409,7 @@ c_expand_expr (exp, target, tmode, modifier)
out-of-scope after the first EXPR_STMT from within the
STMT_EXPR. */
push_temp_slots ();
- rtl_expr = expand_start_stmt_expr ();
+ rtl_expr = expand_start_stmt_expr (target != const0_rtx);
expand_stmt (STMT_EXPR_STMT (exp));
expand_end_stmt_expr (rtl_expr);
result = expand_expr (rtl_expr, target, tmode, modifier);