]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/34679 (ICE: tree check: expected integer_type, have enumeral_...
authorRichard Guenther <rguenther@suse.de>
Wed, 9 Jan 2008 13:43:03 +0000 (13:43 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 9 Jan 2008 13:43:03 +0000 (13:43 +0000)
2008-01-09  Richard Guenther  <rguenther@suse.de>

PR middle-end/34679
* tree.c (host_integerp): Check for sizetype only if the
type is an integer type.

From-SVN: r131427

gcc/ChangeLog
gcc/tree.c

index 964d936139d97a0ee7f6ef3e39986ba811803310..b77162672a0eaa80ee814785d4aef6b7c4765a58 100644 (file)
@@ -1,3 +1,9 @@
+2008-01-09  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34679
+       * tree.c (host_integerp): Check for sizetype only if the
+       type is an integer type.
+
 2008-01-06  Anatoly Sokolov <aesok@post.ru>
 
        * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Move AT90USB82 
index 2bb8aa684768ba574b3c4d2c423fa0afeb13875d..f4beaf021ebe325b562cd6a716432f9a4d2e242c 100644 (file)
@@ -4540,7 +4540,8 @@ host_integerp (tree t, int pos)
              || (! pos && TREE_INT_CST_HIGH (t) == -1
                  && (HOST_WIDE_INT) TREE_INT_CST_LOW (t) < 0
                  && (!TYPE_UNSIGNED (TREE_TYPE (t))
-                     || TYPE_IS_SIZETYPE (TREE_TYPE (t))))
+                     || (TREE_CODE (TREE_TYPE (t)) == INTEGER_TYPE
+                         && TYPE_IS_SIZETYPE (TREE_TYPE (t)))))
              || (pos && TREE_INT_CST_HIGH (t) == 0)));
 }