OSDN Git Service

2006-10-13 David Edelsohn <edelsohn@gnu.org>
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 14 Oct 2006 03:03:23 +0000 (03:03 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 14 Oct 2006 03:03:23 +0000 (03:03 +0000)
            Ian Lance Taylor  <ian@airs.com>

        PR middle-end/29250
        * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
        CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
        recursing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117724 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expr.c

index d4af4e1..6c9fa11 100644 (file)
@@ -1,3 +1,11 @@
+2006-10-13  David Edelsohn  <edelsohn@gnu.org>
+           Ian Lance Taylor  <ian@airs.com>
+
+       PR middle-end/29250
+       * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
+       CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
+       recursing.
+
 2006-10-14  Kazu Hirata  <kazu@codesourcery.com>
 
        * config/score/score.c, config/score/score.h: Fix comment
index a0dc9c3..50564b6 100644 (file)
@@ -7739,7 +7739,8 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
          return REDUCE_BIT_FIELD (op0);
        }
 
-      op0 = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, mode, modifier);
+      op0 = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, mode,
+                        modifier == EXPAND_SUM ? EXPAND_NORMAL : modifier);
       if (GET_MODE (op0) == mode)
        ;