re PR middle-end/23312 (ACATS ICE (32) gimplify_one_sizepos, at gimplify.c:4659)
authorRichard Henderson <rth@redhat.com>
Thu, 11 Aug 2005 17:12:30 +0000 (10:12 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 11 Aug 2005 17:12:30 +0000 (10:12 -0700)
        PR middle-end/23312
        * gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
        before using TYPE_IS_SIZETYPE.

From-SVN: r102997

gcc/ChangeLog
gcc/gimplify.c

index 753f3ceadb12737f656187b0883b3e4a60519e24..2643e608f0454ac4e6290b9f680a7f9dea63df46 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-11  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/23312
+       * gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
+       before using TYPE_IS_SIZETYPE.
+
 2005-08-11  Richard Henderson  <rth@redhat.com>
 
        PR target/22225
index d207e7c554697c9dc62cd12ca1ec74c768d31472..a1ef22e0d2bab461b8b47b8e3f1512e3c4d9cbb3 100644 (file)
@@ -4634,7 +4634,9 @@ gimplify_one_sizepos (tree *expr_p, tree *stmt_p)
      type-stripping code with this knowledge because it doesn't matter
      for the bulk of GENERIC/GIMPLE.  It only matters that TYPE_SIZE_UNIT
      and friends retain their "sizetype-ness".  */
-  if (TREE_TYPE (expr) != type && TYPE_IS_SIZETYPE (type))
+  if (TREE_TYPE (expr) != type
+      && TREE_CODE (type) == INTEGER_TYPE
+      && TYPE_IS_SIZETYPE (type))
     {
       tree tmp;