aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3cbcd36..b477d8b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-15 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/40439
+ * tree.c (widest_int_cst_value): Fix bootstrap on 32bit HWI hosts.
+
2009-06-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* tree-ssa-math-opts.c: Remove extra divide.
diff --git a/gcc/tree.c b/gcc/tree.c
index 6ed29ca..d68f08e 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -8499,7 +8499,8 @@ widest_int_cst_value (const_tree x)
#if HOST_BITS_PER_WIDEST_INT > HOST_BITS_PER_WIDE_INT
gcc_assert (HOST_BITS_PER_WIDEST_INT >= 2 * HOST_BITS_PER_WIDE_INT);
- val |= TREE_INT_CST_HIGH (x) << HOST_BITS_PER_WIDE_INT;
+ val |= (((unsigned HOST_WIDEST_INT) TREE_INT_CST_HIGH (x))
+ << HOST_BITS_PER_WIDE_INT);
#else
/* Make sure the sign-extended value will fit in a HOST_WIDE_INT. */
gcc_assert (TREE_INT_CST_HIGH (x) == 0