diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-08 16:32:01 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-08 16:32:01 -0400 |
commit | e9cdf6e48c50fc5a2ac262d1626bdcab954bd2db (patch) | |
tree | 4f81373e39d15ea5ae360e864135e67f98e3c916 /gcc | |
parent | 6cb64c6a04fcc6c9203dbf3f409dc9cae89a74af (diff) | |
download | gcc-e9cdf6e48c50fc5a2ac262d1626bdcab954bd2db.zip gcc-e9cdf6e48c50fc5a2ac262d1626bdcab954bd2db.tar.gz gcc-e9cdf6e48c50fc5a2ac262d1626bdcab954bd2db.tar.bz2 |
(expand_increment): Handle case where INCREMENTED has a non-trivial
conversion.
From-SVN: r9337
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/expr.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -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; } |