* expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
authorJason Merrill <jason@yorick.cygnus.com>
Wed, 4 Aug 1999 20:32:26 +0000 (20:32 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 4 Aug 1999 20:32:26 +0000 (16:32 -0400)
From-SVN: r28511

gcc/ChangeLog
gcc/expr.c

index c538dc24b9db83877963b958293f74cb68fc99a0..4b4f0b1f7eec72ba11a2afe205071ddbd90882ca 100644 (file)
@@ -1,5 +1,7 @@
 Wed Aug  4 12:53:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
+       * expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
+
        * c-lex.c: Sync with C++ frontend.
        (linemode): New variable.
        (parse_float): imag, conversion_errno, and type are output only.
index e24096114bb3daf8e7b2e9ea4ca58ca687eeace8..a76ee1a270d3aadeb4a53ce883c4b594f309213b 100644 (file)
@@ -6989,7 +6989,7 @@ expand_expr (exp, target, tmode, modifier)
              constant_part
                = immed_double_const (TREE_INT_CST_LOW (TREE_OPERAND (exp, 1)),
                                      (HOST_WIDE_INT) 0,
-                                     GET_MODE (op0));
+                                     TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))));
              op0 = plus_constant (op0, INTVAL (constant_part));
              if (modifier != EXPAND_SUM && modifier != EXPAND_INITIALIZER)
                op0 = force_operand (op0, target);