summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-30 02:16:41 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-30 02:16:41 +0000
commit00e465b1dd095bccba7cc4f7b2eb357f220d69f3 (patch)
tree5693b24452bdcea487534e94da8f988df136d937
parent72c946755e17babfb72ed39437d603646f05f807 (diff)
downloadgcc-00e465b1dd095bccba7cc4f7b2eb357f220d69f3.tar.gz
PR target/5672
* expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51593 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expr.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 771af0e5c2a..288d75bc3f2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-03-29 Richard Henderson <rth@redhat.com>
+
+ PR target/5672
+ * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
+
2002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
diff --git a/gcc/expr.c b/gcc/expr.c
index 6587212296e..ea78b2c044a 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -7489,7 +7489,8 @@ expand_expr (exp, target, tmode, modifier)
rtx constant_part;
op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode,
- EXPAND_SUM);
+ (modifier == EXPAND_INITIALIZER
+ ? EXPAND_INITIALIZER : EXPAND_SUM));
if (! CONSTANT_P (op0))
{
op1 = expand_expr (TREE_OPERAND (exp, 1), NULL_RTX,