OSDN Git Service

(expand_increment): Handle case where INCREMENTED has a non-trivial
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 8 Apr 1995 20:32:01 +0000 (20:32 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 8 Apr 1995 20:32:01 +0000 (20:32 +0000)
conversion.

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

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;
     }