comparison doc/posix-functions/atof.texi @ 9821:18bab9955c43

Document various strtod bugs, with some fixes. * doc/posix-functions/strtod.texi (strtod): Document bugs with "-0x", "inf", "nan", and hex constants. * doc/posix-functions/atof.texi (atof): Likewise. * modules/stdlib (Makefile.am): Support strtod. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise. * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and detect additional strtod bugs. * lib/stdlib.in.h (rpl_strtod): Add declarations. * lib/strtod.c (strtod): Return -0.0 on negative underflow. Use bool where appropriate. Parse 'inf' and 'nan'. * tests/test-strtod.c: New file. * modules/strtod (Depends-on): Add stdbool, stdlib. (configure.ac): Turn on module indicator. * modules/strtod-tests: New module. Signed-off-by: Eric Blake <ebb9@byu.net>
author Eric Blake <ebb9@byu.net>
date Sat, 29 Mar 2008 13:50:21 -0600
parents 070329237839
children c83dc7e8df57
comparison
equal deleted inserted replaced
9820:03b4e25928e9 9821:18bab9955c43
10 @itemize 10 @itemize
11 @end itemize 11 @end itemize
12 12
13 Portability problems not fixed by Gnulib: 13 Portability problems not fixed by Gnulib:
14 @itemize 14 @itemize
15 @item
16 This function mis-parses strings with leading @samp{+} on some old platforms:
17 Old versions of Linux.
18
19 @item
20 This function returns a positive value for negative underflow on some
21 platforms:
22 glibc 2.4, Mingw, Cygwin.
23
24 @item
25 This function fails to do a valid parse of @samp{-0x} on some
26 platforms:
27 glibc 2.4, Cygwin < 1.5.25-11.
28
29 @item
30 This function fails to parse Infinities and plain NaNs on some platforms:
31 Solaris 8, Mingw, OpenBSD 4.0.
32
33 @item
34 This function fails to parse NaN() on some platforms:
35 Solaris 8, Mingw, OpenBSD 4.0, Cygwin < 1.5.25-11.
36
37 @item
38 This function fails to parse NaN(n-char-sequence) on some platforms:
39 Solaris 8, Mingw, OpenBSD 4.0.
40
41 @item
42 This function fails to parse C99 hexadecimal floating point on some
43 platforms:
44 Solaris 8, Mingw, OpenBSD 4.0.
45
46 @item
47 This function fails to correctly parse very long strings on some
48 platforms:
49 Mingw, Cygwin.
15 @end itemize 50 @end itemize