about summary refs log tree commit diff
path: root/stdlib/strtod.c
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/strtod.c')
-rw-r--r--stdlib/strtod.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/stdlib/strtod.c b/stdlib/strtod.c
index 1a663ba3ab..6b110f6a4f 100644
--- a/stdlib/strtod.c
+++ b/stdlib/strtod.c
@@ -149,7 +149,7 @@ round_and_return (mp_limb *retval, int exponent, int negative,
 	  round_bit = (shift - 1) % BITS_PER_MP_LIMB;
 	  for (i = 0; i < (shift - 1) / BITS_PER_MP_LIMB; ++i)
 	    more_bits |= retval[i] != 0;
-	  more_bits |= (round_limb & ((1 << round_bit) - 1)) != 0;
+	  more_bits |= (round_limb & ((((mp_limb) 1) << round_bit) - 1)) != 0;
 
 	  (void) __mpn_rshift (retval, &retval[shift / BITS_PER_MP_LIMB],
                                RETURN_LIMB_SIZE - (shift / BITS_PER_MP_LIMB),