aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-03-29 18:16:41 -0800
committerRichard Henderson <rth@gcc.gnu.org>2002-03-29 18:16:41 -0800
commit70d95bac49e84db50ff05e93326062a239d3d1d5 (patch)
tree5693b24452bdcea487534e94da8f988df136d937
parentd3294cd931105be23b0fc1f7bc2cfa21009d7071 (diff)
downloadgcc-70d95bac49e84db50ff05e93326062a239d3d1d5.zip
gcc-70d95bac49e84db50ff05e93326062a239d3d1d5.tar.gz
gcc-70d95bac49e84db50ff05e93326062a239d3d1d5.tar.bz2
re PR target/5672 ([mn10200] Compiler segmentation fault in static initialiser.)
PR target/5672 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place. From-SVN: r51593
-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 771af0e..288d75b 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 6587212..ea78b2c 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,