aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-01-15 10:02:59 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1996-01-15 10:02:59 -0500
commit3d27140a15ebf66af41c289758ccd3d2b1159edc (patch)
tree057e5c5496357d3663f9f288e34f26832ae70a0f /gcc
parentacc3b6d90a6f069f15d57ae28d82262809d9d8bc (diff)
downloadgcc-3d27140a15ebf66af41c289758ccd3d2b1159edc.zip
gcc-3d27140a15ebf66af41c289758ccd3d2b1159edc.tar.gz
gcc-3d27140a15ebf66af41c289758ccd3d2b1159edc.tar.bz2
(expand_expr, case COMPONENT_REF): Don't make recursive call on object
with EXPAND_SUM. From-SVN: r10989
Diffstat (limited to 'gcc')
-rw-r--r--gcc/expr.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 4d8e323..60336c9 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1,5 +1,5 @@
/* Convert tree expression to rtl instructions, for GNU compiler.
- Copyright (C) 1988, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1988, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -5129,11 +5129,7 @@ expand_expr (exp, target, tmode, modifier)
if (tem == exp)
abort ();
- /* In some cases, we will be offsetting OP0's address by a constant.
- So get it as a sum, if possible. If we will be using it
- directly in an insn, we validate it.
-
- If TEM's type is a union of variable size, pass TARGET to the inner
+ /* If TEM's type is a union of variable size, pass TARGET to the inner
computation, since it will need a temporary and TARGET is known
to have to do. This occurs in unchecked conversion in Ada. */
@@ -5142,7 +5138,7 @@ expand_expr (exp, target, tmode, modifier)
&& (TREE_CODE (TYPE_SIZE (TREE_TYPE (tem)))
!= INTEGER_CST)
? target : NULL_RTX),
- VOIDmode, EXPAND_SUM);
+ VOIDmode, 0);
/* If this is a constant, put it into a register if it is a
legitimate constant and memory if it isn't. */