diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fold-const.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6e1808bcb31..f9fa2d3dd2c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-02-19 Jeff Law <law@redhat.com> + + * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison + for unordered comparison codes. + 2004-02-19 Ian Lance Taylor <ian@wasabisystems.com> * reload1.c (reload): Correct comment. diff --git a/gcc/fold-const.c b/gcc/fold-const.c index f9b7808cbe6..5b39098d0db 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -2636,6 +2636,14 @@ invert_truthvalue (tree arg) && code != NE_EXPR && code != EQ_EXPR) return build1 (TRUTH_NOT_EXPR, type, arg); + else if (code == UNORDERED_EXPR + || code == ORDERED_EXPR + || code == UNEQ_EXPR + || code == UNLT_EXPR + || code == UNLE_EXPR + || code == UNGT_EXPR + || code == UNGE_EXPR) + return build1 (TRUTH_NOT_EXPR, type, arg); else return build (invert_tree_comparison (code), type, TREE_OPERAND (arg, 0), TREE_OPERAND (arg, 1)); |