fold-const.c (fold_checksum_tree <case 't'>): Only look at TREE_VALUES if the EXPR...
authorAndrew Pinski <pinskia@physics.uc.edu>
Sun, 13 Jun 2004 22:15:51 +0000 (22:15 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Sun, 13 Jun 2004 22:15:51 +0000 (15:15 -0700)
2004-06-13  Andrew Pinski  <pinskia@physics.uc.edu>

        * fold-const.c (fold_checksum_tree <case 't'>): Only
        look at TREE_VALUES if the EXPR is an ENUMERAL_TYPE.
        Only look at TYPE_MIN_VALUE and TYPE_MAX_VALUE if
        EXPR is an INTEGERAL_TYPE or a scalar float type.

From-SVN: r83068

gcc/ChangeLog
gcc/fold-const.c

index 6e42d5920e88364c29dfcbb0853c3d40ec4ebbab..8ec2db59619b632d710757b2f650b5ea78a4fd0f 100644 (file)
@@ -1,3 +1,10 @@
+2004-06-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * fold-const.c (fold_checksum_tree <case 't'>): Only
+       look at TREE_VALUES if the EXPR is an ENUMERAL_TYPE.
+       Only look at TYPE_MIN_VALUE and TYPE_MAX_VALUE if
+       EXPR is an INTEGERAL_TYPE or a scalar float type.
+
 2004-06-13  Diego Novillo  <dnovillo@redhat.com>
 
        * tree-sra.c (tree_sra): Update documentation.
index 02f4128af49f4c11b32843137c4834280c80167b..1cc2b8189c880954d4eab18a940df201cf51b2f3 100644 (file)
@@ -8731,13 +8731,18 @@ fold_checksum_tree (tree expr, struct md5_ctx *ctx, htab_t ht)
       fold_checksum_tree (DECL_VINDEX (expr), ctx, ht);
       break;
     case 't':
-      fold_checksum_tree (TYPE_VALUES (expr), ctx, ht);
+      if (TREE_CODE (expr) == ENUMERAL_TYPE)
+        fold_checksum_tree (TYPE_VALUES (expr), ctx, ht);
       fold_checksum_tree (TYPE_SIZE (expr), ctx, ht);
       fold_checksum_tree (TYPE_SIZE_UNIT (expr), ctx, ht);
       fold_checksum_tree (TYPE_ATTRIBUTES (expr), ctx, ht);
       fold_checksum_tree (TYPE_NAME (expr), ctx, ht);
-      fold_checksum_tree (TYPE_MIN_VALUE (expr), ctx, ht);
-      fold_checksum_tree (TYPE_MAX_VALUE (expr), ctx, ht);
+      if (INTEGRAL_TYPE_P (expr)
+          || SCALAR_FLOAT_TYPE_P (expr))
+       {
+         fold_checksum_tree (TYPE_MIN_VALUE (expr), ctx, ht);
+         fold_checksum_tree (TYPE_MAX_VALUE (expr), ctx, ht);
+       }
       fold_checksum_tree (TYPE_MAIN_VARIANT (expr), ctx, ht);
       fold_checksum_tree (TYPE_BINFO (expr), ctx, ht);
       fold_checksum_tree (TYPE_CONTEXT (expr), ctx, ht);