fold-const.c (invert_truthvalue): Do not call invert_tree_comparison for unordered...
authorJeff Law <law@redhat.com>
Thu, 19 Feb 2004 16:57:52 +0000 (09:57 -0700)
committerJeff Law <law@gcc.gnu.org>
Thu, 19 Feb 2004 16:57:52 +0000 (09:57 -0700)
        * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison
        for unordered comparison codes.

From-SVN: r78103

gcc/ChangeLog
gcc/fold-const.c

index 6e1808bcb31777baad1b9392c0d5dd25078a5c0b..f9fa2d3dd2c781a5579641bf434ddca6f1e9821a 100644 (file)
@@ -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.
index f9b7808cbe60ff91f0e82bf6c142fb3949a54530..5b39098d0db8cc5486043b840bd4e8cbe27311d2 100644 (file)
@@ -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));