From f46e5baad61a5604120e22c7dfa3b77180f2e7ef Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Thu, 19 Feb 2004 09:57:52 -0700 Subject: [PATCH] fold-const.c (invert_truthvalue): Do not call invert_tree_comparison for unordered comparison codes. * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison for unordered comparison codes. From-SVN: r78103 --- gcc/ChangeLog | 5 +++++ gcc/fold-const.c | 8 ++++++++ 2 files changed, 13 insertions(+) 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 + + * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison + for unordered comparison codes. + 2004-02-19 Ian Lance Taylor * 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)); -- 2.30.2