summaryrefslogtreecommitdiff
path: root/stdlib
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2004-11-30 07:01:14 +0000
committerJakub Jelinek <jakub@redhat.com>2004-11-30 07:01:14 +0000
commitaa8a3b59b1603ce0855e5130cb060318c8e8c78d (patch)
treea4b3fb8b31b3e880c248d2120b929282fc61b5e0 /stdlib
parentc1f8ef75d3ddf687efc5ee23e16075c256fa77be (diff)
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/strtod_l.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c
index dce65cb83c..a656789f4c 100644
--- a/stdlib/strtod_l.c
+++ b/stdlib/strtod_l.c
@@ -1442,15 +1442,10 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
if (numsize < densize)
{
mp_size_t empty = densize - numsize;
+ register int i;
if (bits <= 0)
- {
- register int i;
- for (i = numsize; i > 0; --i)
- num[i + empty] = num[i - 1];
- MPN_ZERO (num, empty + 1);
- exponent -= empty * BITS_PER_MP_LIMB;
- }
+ exponent -= empty * BITS_PER_MP_LIMB;
else
{
if (bits + empty * BITS_PER_MP_LIMB <= MANT_DIG)
@@ -1459,7 +1454,6 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
cannot optimize the `else' case that good and
this reflects all currently used FLOAT types
and GMP implementations. */
- register int i;
#if RETURN_LIMB_SIZE <= 2
assert (empty == 1);
__mpn_lshift_1 (retval, RETURN_LIMB_SIZE,
@@ -1470,9 +1464,6 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
while (i >= 0)
retval[i--] = 0;
#endif
- for (i = numsize; i > 0; --i)
- num[i + empty] = num[i - 1];
- MPN_ZERO (num, empty + 1);
}
else
{
@@ -1492,6 +1483,9 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
}
bits += empty * BITS_PER_MP_LIMB;
}
+ for (i = numsize; i > 0; --i)
+ num[i + empty] = num[i - 1];
+ MPN_ZERO (num, empty + 1);
}
else
{