diff options
| author | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-14 03:03:23 +0000 |
|---|---|---|
| committer | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-14 03:03:23 +0000 |
| commit | 17e11d9970b013170df4dba613cfa35aa324b144 (patch) | |
| tree | b550f0b899d4080bd2e5f0ae9ef72a418f5f66de /gcc/expr.c | |
| parent | c5c5ead985df5414498a1c633e81c9953c20a249 (diff) | |
| download | ppe42-gcc-17e11d9970b013170df4dba613cfa35aa324b144.tar.gz ppe42-gcc-17e11d9970b013170df4dba613cfa35aa324b144.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117724 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
| -rw-r--r-- | gcc/expr.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index a0dc9c360f0..50564b65072 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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) ; |

