re PR middle-end/58564 (possible wrong code bug at -O0)
authorJakub Jelinek <jakub@redhat.com>
Mon, 30 Sep 2013 20:17:07 +0000 (22:17 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 30 Sep 2013 20:17:07 +0000 (22:17 +0200)
PR middle-end/58564
* fold-const.c (tree_unary_nonnegative_warnv_p): Use
INTEGRAL_TYPE_P (t) instead of TREE_CODE (t) == INTEGER_TYPE.

From-SVN: r203044

gcc/ChangeLog
gcc/fold-const.c

index 29c8d6b2f13daa9a3df2bf30ac361c8208a62a1d..d125ced29c86dcf17b65582346480b8f5063e1c8 100644 (file)
@@ -1,5 +1,9 @@
 2013-09-30  Jakub Jelinek  <jakub@redhat.com>
 
+       PR middle-end/58564
+       * fold-const.c (tree_unary_nonnegative_warnv_p): Use
+       INTEGRAL_TYPE_P (t) instead of TREE_CODE (t) == INTEGER_TYPE.
+
        PR middle-end/58564
        * fold-const.c (fold_ternary_loc): For A < 0 : <sign bit of A> : 0
        optimization, punt if sign_bit_p looked through any zero extension.
index f68fd8b15d5a88fa4cf2bf38200966662b041d63..fc29291c01d84aea7a5ee31e06f6c3520f2354d3 100644 (file)
@@ -15448,7 +15448,7 @@ tree_unary_nonnegative_warnv_p (enum tree_code code, tree type, tree op0,
            if (TREE_CODE (inner_type) == REAL_TYPE)
              return tree_expr_nonnegative_warnv_p (op0,
                                                    strict_overflow_p);
-           if (TREE_CODE (inner_type) == INTEGER_TYPE)
+           if (INTEGRAL_TYPE_P (inner_type))
              {
                if (TYPE_UNSIGNED (inner_type))
                  return true;
@@ -15456,12 +15456,12 @@ tree_unary_nonnegative_warnv_p (enum tree_code code, tree type, tree op0,
                                                      strict_overflow_p);
              }
          }
-       else if (TREE_CODE (outer_type) == INTEGER_TYPE)
+       else if (INTEGRAL_TYPE_P (outer_type))
          {
            if (TREE_CODE (inner_type) == REAL_TYPE)
              return tree_expr_nonnegative_warnv_p (op0,
                                                    strict_overflow_p);
-           if (TREE_CODE (inner_type) == INTEGER_TYPE)
+           if (INTEGRAL_TYPE_P (inner_type))
              return TYPE_PRECISION (inner_type) < TYPE_PRECISION (outer_type)
                      && TYPE_UNSIGNED (inner_type);
          }