aboutsummaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@gcc.gnu.org>2001-12-04 15:10:16 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2001-12-04 15:10:16 +0000
commitb0ca54affc43c3ae945765e0545e91675dac5413 (patch)
tree2f7f9ab738ee326953f015588c4b564eca6e1b43 /gcc/stmt.c
parent667e5c5da36701af29aec9d1c0664bdc717e5088 (diff)
downloadgcc-b0ca54affc43c3ae945765e0545e91675dac5413.zip
gcc-b0ca54affc43c3ae945765e0545e91675dac5413.tar.gz
gcc-b0ca54affc43c3ae945765e0545e91675dac5413.tar.bz2
Revert previous patch
From-SVN: r47612
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index bfac270..2b176bb 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -2149,8 +2149,6 @@ void
expand_expr_stmt (exp)
tree exp;
{
- bool want_value = last_expr_value != NULL_RTX;
-
/* If -W, warn about statements with no side effects,
except for an explicit cast to void (e.g. for assert()), and
except inside a ({...}) where they may be useful. */
@@ -2177,7 +2175,7 @@ expand_expr_stmt (exp)
last_expr_value to get reset. Therefore, we set last_expr_value
and last_expr_type *after* calling expand_expr. */
last_expr_value = expand_expr (exp,
- (want_value && expr_stmts_for_value
+ (expr_stmts_for_value
? NULL_RTX : const0_rtx),
VOIDmode, 0);
last_expr_type = TREE_TYPE (exp);
@@ -2190,7 +2188,7 @@ expand_expr_stmt (exp)
if (TYPE_MODE (TREE_TYPE (exp)) == VOIDmode)
;
else if (TYPE_MODE (TREE_TYPE (exp)) != BLKmode)
- last_expr_value = copy_to_reg (last_expr_value);
+ copy_to_reg (last_expr_value);
else
{
rtx lab = gen_label_rtx ();
@@ -2213,14 +2211,6 @@ expand_expr_stmt (exp)
above. */
free_temp_slots ();
- if (! want_value && last_expr_value)
- {
- protect_from_queue (last_expr_value, 0);
- last_expr_value = NULL_RTX;
- }
- else if (want_value && ! last_expr_value)
- last_expr_value = const0_rtx;
-
emit_queue ();
}
@@ -2346,8 +2336,7 @@ clear_last_expr ()
The caller must save that value and pass it to expand_end_stmt_expr. */
tree
-expand_start_stmt_expr (want_value)
- int want_value;
+expand_start_stmt_expr ()
{
tree t;
@@ -2358,7 +2347,6 @@ expand_start_stmt_expr (want_value)
start_sequence_for_rtl_expr (t);
NO_DEFER_POP;
expr_stmts_for_value++;
- last_expr_value = want_value ? const0_rtx : NULL_RTX;
return t;
}