aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Burley <burley@gnu.org>1998-07-13 18:21:01 -0400
committerJeff Law <law@gcc.gnu.org>1998-07-13 16:21:01 -0600
commitb941bcbc1f5763e3c3576a50769c6ec65445e93c (patch)
tree5a1398b365e1740997e0cab18314535670df1190
parent48e87cefabed243b5bcef37854ca016321de9ff0 (diff)
downloadgcc-b941bcbc1f5763e3c3576a50769c6ec65445e93c.zip
gcc-b941bcbc1f5763e3c3576a50769c6ec65445e93c.tar.gz
gcc-b941bcbc1f5763e3c3576a50769c6ec65445e93c.tar.bz2
stmt.c (expand_expr_stmt): If not assigning fresh value to last_expr_value...
* stmt.c (expand_expr_stmt): If not assigning fresh value to last_expr_value, zero it, so old garbage doesn't get dereferenced. From-SVN: r21116
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/stmt.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6c55abf..2d78aac 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Mon Jul 13 23:18:39 1998 Craig Burley <burley@gnu.org>
+
+ * stmt.c (expand_expr_stmt): If not assigning fresh
+ value to last_expr_value, zero it, so old garbage
+ doesn't get dereferenced.
+
Mon Jul 13 23:06:55 1998 Henning.Petersen@t-online.de (Henning Petersen)
* gcse.c (hash_scan_insn): Add missing argument declaration.
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 18ca944..9ebe670 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -1533,7 +1533,9 @@ expand_expr_stmt (exp)
exp = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (exp)), exp);
last_expr_type = TREE_TYPE (exp);
- if (! flag_syntax_only || expr_stmts_for_value)
+ if (flag_syntax_only && ! expr_stmts_for_value)
+ last_expr_value = 0;
+ else
last_expr_value = expand_expr (exp,
(expr_stmts_for_value
? NULL_RTX : const0_rtx),