(expand_increment): Handle case where INCREMENTED has a non-trivial
authorRichard Kenner <kenner@gcc.gnu.org>
Sat, 8 Apr 1995 20:32:01 +0000 (16:32 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Sat, 8 Apr 1995 20:32:01 +0000 (16:32 -0400)
conversion.

From-SVN: r9337

gcc/expr.c

index d65445a..14ca366 100644 (file)
@@ -8494,6 +8494,14 @@ expand_increment (exp, post)
                           TREE_TYPE (exp),
                           incremented,
                           TREE_OPERAND (exp, 1));
+
+      while (TREE_CODE (incremented) == NOP_EXPR
+            || TREE_CODE (incremented) == CONVERT_EXPR)
+       {
+         newexp = convert (TREE_TYPE (incremented), newexp);
+         incremented = TREE_OPERAND (incremented, 0);
+       }
+
       temp = expand_assignment (incremented, newexp, ! post, 0);
       return post ? op0 : temp;
     }