2009-06-15 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Jun 2009 10:05:29 +0000 (10:05 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Jun 2009 10:05:29 +0000 (10:05 +0000)
PR middle-end/40439
* tree.c (widest_int_cst_value): Fix bootstrap on 32bit HWI hosts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148486 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree.c

index 3cbcd36..b477d8b 100644 (file)
@@ -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.
index 6ed29ca..d68f08e 100644 (file)
@@ -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