--- gcc/real.c.org 2005-02-17 09:46:55.551831824 +0100 +++ gcc/real.c 2005-02-17 09:47:52.785131040 +0100 @@ -3017,7 +3017,7 @@ while (uhigh || ulow) { remainderh = uhigh; remainderl = ulow; divisorl = uhigh = ulow = 0; - divisorh = 10<<(HOST_BITS_PER_WIDE_INT-4); + divisorh = (HOST_WIDE_INT)10<<(HOST_BITS_PER_WIDE_INT-4); /* Divide the pair of HOST_WIDE_INTs by 10 */ for (j=2*HOST_BITS_PER_WIDE_INT-4;j>=0;j--) { /* Shift the result to the left. */