diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3cbcd36a042..b477d8be5e1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-06-15 Richard Guenther + + PR middle-end/40439 + * tree.c (widest_int_cst_value): Fix bootstrap on 32bit HWI hosts. + 2009-06-14 Andreas Krebbel * tree-ssa-math-opts.c: Remove extra divide. diff --git a/gcc/tree.c b/gcc/tree.c index 6ed29ca42d1..d68f08e9b6f 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