From: Richard Kenner Date: Mon, 15 Jan 1996 15:02:59 +0000 (-0500) Subject: (expand_expr, case COMPONENT_REF): Don't make recursive call on object X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3d27140a15ebf66af41c289758ccd3d2b1159edc;p=gcc.git (expand_expr, case COMPONENT_REF): Don't make recursive call on object with EXPAND_SUM. From-SVN: r10989 --- diff --git a/gcc/expr.c b/gcc/expr.c index 4d8e323a028..60336c96eca 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. */