OSDN Git Service

(expand_increment): If pre-incrementing a promoted variable, don't
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Jul 1994 22:27:27 +0000 (22:27 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Jul 1994 22:27:27 +0000 (22:27 +0000)
adjust OP0 since the result won't be used.

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

gcc/expr.c

index 46be1f3..a2b24c4 100644 (file)
@@ -8042,7 +8042,12 @@ expand_increment (exp, post)
      shared (it was made by the expand_expr call above).  */
 
   if (GET_CODE (op0) == SUBREG && SUBREG_PROMOTED_VAR_P (op0))
-    SUBREG_REG (op0) = copy_to_reg (SUBREG_REG (op0));
+    {
+      if (post)
+       SUBREG_REG (op0) = copy_to_reg (SUBREG_REG (op0));
+      else
+       bad_subreg = 1;
+    }
   else if (GET_CODE (op0) == SUBREG
           && GET_MODE_BITSIZE (GET_MODE (op0)) < BITS_PER_WORD)
     {