X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=lib%2Fstrtod.c;h=76e37d6920976a0852bd8b7d382f849212d5beeb;hb=931b01b091932a1f796c23379ea32abb68bd5895;hp=bf6955a7783fb28017e7eaae50aa697dc32c9230;hpb=7be93f2d05131d061bd4790ae33c8d50f50010d7;p=platform%2Fupstream%2Fm4.git diff --git a/lib/strtod.c b/lib/strtod.c index bf6955a..76e37d6 100644 --- a/lib/strtod.c +++ b/lib/strtod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-1992, 1997, 1999, 2003, 2006, 2008-2011 Free Software +/* Copyright (C) 1991-1992, 1997, 1999, 2003, 2006, 2008-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -31,9 +31,6 @@ #ifndef HAVE_LDEXP_IN_LIBC #define HAVE_LDEXP_IN_LIBC 0 #endif -#ifndef HAVE_RAW_DECL_STRTOD -#define HAVE_RAW_DECL_STRTOD 0 -#endif /* Return true if C is a space in the current locale, avoiding problems with signed char and isspace. */ @@ -149,7 +146,7 @@ parse_number (const char *nptr, else { /* The value of the digit doesn't matter, since we have already - gotten as many digits as can be represented in a `double'. + gotten as many digits as can be represented in a 'double'. This doesn't necessarily mean the result will overflow. The exponent may reduce it to within range. @@ -193,7 +190,7 @@ static double underlying_strtod (const char *, char **); /* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. ICC 10.0 has a bug when optimizing the expression -zero. The expression -DBL_MIN * DBL_MIN does not work when cross-compiling - to PowerPC on MacOS X 10.5. */ + to PowerPC on Mac OS X 10.5. */ #if defined __hpux || defined __sgi || defined __ICC static double compute_minus_zero (void) @@ -344,24 +341,11 @@ strtod (const char *nptr, char **endptr) return negative ? -num : num; } -/* The "underlying" strtod implementation. This must be defined +/* The underlying strtod implementation. This must be defined after strtod because it #undefs strtod. */ static double underlying_strtod (const char *nptr, char **endptr) { - if (HAVE_RAW_DECL_STRTOD) - { - /* Prefer the native strtod if available. Usually it should - work and it should give more-accurate results than our - approximation. */ - #undef strtod - return strtod (nptr, endptr); - } - else - { - /* Approximate strtod well enough for this module. There's no - need to handle anything but finite unsigned decimal - numbers with nonnull ENDPTR. */ - return parse_number (nptr, 10, 10, 1, 'e', endptr); - } +#undef strtod + return strtod (nptr, endptr); }