diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2001-12-04 10:30:04 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2001-12-04 10:30:04 +0000 |
commit | d1bd43d95082914bdc5e6f782ed0a919ff4305e2 (patch) | |
tree | 764fcb1b30f9b79f8a0f0dc4fa3f07a61527c096 /gcc/c-common.c | |
parent | 1b3ea405b0f468e456251a24fede3012be58b3ff (diff) | |
download | gcc-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.c | 2 |
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); |