diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1992-03-13 08:58:47 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1992-03-13 08:58:47 -0500 |
commit | ef9fe0da13b2d36da24e412ec6e3a609c9fc36fc (patch) | |
tree | bbb6f7c66e22569d6679ecddbe962b6fad72f9c3 /gcc | |
parent | 8df91b1fdb9140099a0a16dd0c256bd26e1d4a79 (diff) | |
download | gcc-ef9fe0da13b2d36da24e412ec6e3a609c9fc36fc.zip gcc-ef9fe0da13b2d36da24e412ec6e3a609c9fc36fc.tar.gz gcc-ef9fe0da13b2d36da24e412ec6e3a609c9fc36fc.tar.bz2 |
*** empty log message ***
From-SVN: r462
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fold-const.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c index f18ff01..5246a45 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -1624,6 +1624,10 @@ invert_truthvalue (arg) invert_truthvalue (TREE_OPERAND (arg, 1)), invert_truthvalue (TREE_OPERAND (arg, 2))); + case COMPOUND_EXPR: + return build (COMPOUND_EXPR, type, TREE_OPERAND (arg, 0), + invert_truthvalue (TREE_OPERAND (arg, 1))); + case NON_LVALUE_EXPR: return invert_truthvalue (TREE_OPERAND (arg, 0)); @@ -3293,7 +3297,8 @@ fold (expr) } /* If what we want is other than LT or EQ, invert the result. */ - if (code == GE_EXPR || code == LE_EXPR || code == NE_EXPR) + if ((code == GE_EXPR || code == LE_EXPR || code == NE_EXPR) + && TREE_CODE (t) == INTEGER_CST) TREE_INT_CST_LOW (t) ^= 1; TREE_TYPE (t) = type; return t; |