aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2008-01-09 12:14:01 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2008-01-09 12:14:01 +0000
commitcbad2e09260a2898b3384dded5f3ce2651e17425 (patch)
tree764f81577f0b53934a061bca964c5536a7368326 /gcc/tree.c
parent51631813373a8784613b024dd9b517708803d3d9 (diff)
downloadgcc-cbad2e09260a2898b3384dded5f3ce2651e17425.zip
gcc-cbad2e09260a2898b3384dded5f3ce2651e17425.tar.gz
gcc-cbad2e09260a2898b3384dded5f3ce2651e17425.tar.bz2
re PR tree-optimization/34679 (ICE: tree check: expected integer_type, have enumeral_type in host_integerp, at tree.c:4949 (predictive commoning))
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: r131425
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index d52f7c6..02570b7 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -4946,7 +4946,8 @@ host_integerp (const_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)));
}