------- Comment #1 from rguenth at gcc dot gnu dot org 2009-06-14 18:02 ------- Sth like
Index: gcc/tree.c =================================================================== --- gcc/tree.c (revision 148472) +++ gcc/tree.c (working copy) @@ -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 should fix this. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|middle-end |bootstrap GCC host triplet| |i386-unknown-freebsd8.0 GCC target triplet|i?86-*-* | Keywords|build | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40439