diff options
author | David Edelsohn <edelsohn@gnu.org> | 2006-10-14 03:03:23 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2006-10-13 23:03:23 -0400 |
commit | dc10a47e83909c6ffc1e049baa2b31f2ca055882 (patch) | |
tree | b550f0b899d4080bd2e5f0ae9ef72a418f5f66de /gcc | |
parent | 875e256a3a4ab2ea75742ca433025ad4c03a4be0 (diff) | |
download | gcc-dc10a47e83909c6ffc1e049baa2b31f2ca055882.zip gcc-dc10a47e83909c6ffc1e049baa2b31f2ca055882.tar.gz gcc-dc10a47e83909c6ffc1e049baa2b31f2ca055882.tar.bz2 |
re PR target/29250 (internal compiler error: in extract_insn, at recog.c:2084)
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.
Co-Authored-By: Ian Lance Taylor <ian@airs.com>
From-SVN: r117724
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/expr.c | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d4af4e1..6c9fa11 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 @@ -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) ; |