From: David Edelsohn Date: Sat, 14 Oct 2006 03:03:23 +0000 (+0000) Subject: re PR target/29250 (internal compiler error: in extract_insn, at recog.c:2084) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dc10a47e83909c6ffc1e049baa2b31f2ca055882;p=gcc.git re PR target/29250 (internal compiler error: in extract_insn, at recog.c:2084) 2006-10-13 David Edelsohn Ian Lance Taylor PR middle-end/29250 * expr.c (expand_expr_real_1) : Change EXPAND_SUM modifier to EXPAND_NORMAL when recursing. Co-Authored-By: Ian Lance Taylor From-SVN: r117724 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d4af4e1bd3a..6c9fa11ccf8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2006-10-13 David Edelsohn + Ian Lance Taylor + + PR middle-end/29250 + * expr.c (expand_expr_real_1) : Change EXPAND_SUM modifier to EXPAND_NORMAL when + recursing. + 2006-10-14 Kazu Hirata * config/score/score.c, config/score/score.h: Fix comment 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) ;