1
0
mirror of https://https.git.savannah.gnu.org/git/gnulib.git synced 2026-08-28 13:25:48 +00:00

15 Commits

Author SHA1 Message Date
Bruno Haible 355f1de54a strtod: Move AC_LIBOBJ invocations to module description.
* m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
invocations from here...
* modules/strtod (configure.ac): ... to here.
2011-06-16 00:06:54 +02:00
Bruno Haible 7cbbd8a31a Avoid unnecessary compilation units, through conditional dependencies.
* modules/accept (Depends-on): Add conditions to the dependencies.
* modules/acosl (Depends-on): Likewise.
* modules/argz (Depends-on): Likewise.
* modules/asinl (Depends-on): Likewise.
* modules/atanl (Depends-on): Likewise.
* modules/atoll (Depends-on): Likewise.
* modules/bind (Depends-on): Likewise.
* modules/btowc (Depends-on): Likewise.
* modules/canonicalize-lgpl (Depends-on): Likewise.
* modules/ceil (Depends-on): Likewise.
* modules/ceilf (Depends-on): Likewise.
* modules/ceill (Depends-on): Likewise.
* modules/chdir-long (Depends-on): Likewise.
* modules/chown (Depends-on): Likewise.
* modules/close (Depends-on): Likewise.
* modules/connect (Depends-on): Likewise.
* modules/cosl (Depends-on): Likewise.
* modules/dirfd (Depends-on): Likewise.
* modules/dprintf (Depends-on): Likewise.
* modules/dprintf-posix (Depends-on): Likewise.
* modules/error (Depends-on): Likewise.
* modules/euidaccess (Depends-on): Likewise.
* modules/expl (Depends-on): Likewise.
* modules/faccessat (Depends-on): Likewise.
* modules/fchdir (Depends-on): Likewise.
* modules/fclose (Depends-on): Likewise.
* modules/fcntl (Depends-on): Likewise.
* modules/fdopendir (Depends-on): Likewise.
* modules/fflush (Depends-on): Likewise.
* modules/floor (Depends-on): Likewise.
* modules/floorf (Depends-on): Likewise.
* modules/floorl (Depends-on): Likewise.
* modules/fnmatch (Depends-on): Likewise.
* modules/fopen (Depends-on): Likewise.
* modules/fprintf-posix (Depends-on): Likewise.
* modules/frexp (Depends-on): Likewise.
* modules/frexp-nolibm (Depends-on): Likewise.
* modules/frexpl (Depends-on): Likewise.
* modules/frexpl-nolibm (Depends-on): Likewise.
* modules/fseek (Depends-on): Likewise.
* modules/fsusage (Depends-on): Likewise.
* modules/ftell (Depends-on): Likewise.
* modules/ftello (Depends-on): Likewise.
* modules/futimens (Depends-on): Likewise.
* modules/getcwd (Depends-on): Likewise.
* modules/getcwd-lgpl (Depends-on): Likewise.
* modules/getdelim (Depends-on): Likewise.
* modules/getdomainname (Depends-on): Likewise.
* modules/getgroups (Depends-on): Likewise.
* modules/gethostname (Depends-on): Likewise.
* modules/getline (Depends-on): Likewise.
* modules/getlogin_r (Depends-on): Likewise.
* modules/getopt-posix (Depends-on): Likewise.
* modules/getpeername (Depends-on): Likewise.
* modules/getsockname (Depends-on): Likewise.
* modules/getsockopt (Depends-on): Likewise.
* modules/getsubopt (Depends-on): Likewise.
* modules/getusershell (Depends-on): Likewise.
* modules/glob (Depends-on): Likewise.
* modules/grantpt (Depends-on): Likewise.
* modules/iconv_open (Depends-on): Likewise.
* modules/iconv_open-utf (Depends-on): Likewise.
* modules/inet_ntop (Depends-on): Likewise.
* modules/inet_pton (Depends-on): Likewise.
* modules/ioctl (Depends-on): Likewise.
* modules/isapipe (Depends-on): Likewise.
* modules/isfinite (Depends-on): Likewise.
* modules/isinf (Depends-on): Likewise.
* modules/lchown (Depends-on): Likewise.
* modules/ldexpl (Depends-on): Likewise.
* modules/link (Depends-on): Likewise.
* modules/linkat (Depends-on): Likewise.
* modules/listen (Depends-on): Likewise.
* modules/logl (Depends-on): Likewise.
* modules/lstat (Depends-on): Likewise.
* modules/mbrlen (Depends-on): Likewise.
* modules/mbrtowc (Depends-on): Likewise.
* modules/mbsinit (Depends-on): Likewise.
* modules/mbsnrtowcs (Depends-on): Likewise.
* modules/mbsrtowcs (Depends-on): Likewise.
* modules/mbtowc (Depends-on): Likewise.
* modules/memcmp (Depends-on): Likewise.
* modules/mkdir (Depends-on): Likewise.
* modules/mkdtemp (Depends-on): Likewise.
* modules/mkfifo (Depends-on): Likewise.
* modules/mkfifoat (Depends-on): Likewise.
* modules/mknod (Depends-on): Likewise.
* modules/mkostemp (Depends-on): Likewise.
* modules/mkostemps (Depends-on): Likewise.
* modules/mkstemp (Depends-on): Likewise.
* modules/mkstemps (Depends-on): Likewise.
* modules/mktime (Depends-on): Likewise.
* modules/nanosleep (Depends-on): Likewise.
* modules/open (Depends-on): Likewise.
* modules/openat (Depends-on): Likewise.
* modules/perror (Depends-on): Likewise.
* modules/poll (Depends-on): Likewise.
* modules/popen (Depends-on): Likewise.
* modules/posix_spawn (Depends-on): Likewise.
* modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
* modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
* modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
* modules/posix_spawnp (Depends-on): Likewise.
* modules/pread (Depends-on): Likewise.
* modules/printf-posix (Depends-on): Likewise.
* modules/ptsname (Depends-on): Likewise.
* modules/putenv (Depends-on): Likewise.
* modules/pwrite (Depends-on): Likewise.
* modules/readline (Depends-on): Likewise.
* modules/readlink (Depends-on): Likewise.
* modules/readlinkat (Depends-on): Likewise.
* modules/recv (Depends-on): Likewise.
* modules/recvfrom (Depends-on): Likewise.
* modules/regex (Depends-on): Likewise.
* modules/remove (Depends-on): Likewise.
* modules/rename (Depends-on): Likewise.
* modules/renameat (Depends-on): Likewise.
* modules/rmdir (Depends-on): Likewise.
* modules/round (Depends-on): Likewise.
* modules/roundf (Depends-on): Likewise.
* modules/roundl (Depends-on): Likewise.
* modules/rpmatch (Depends-on): Likewise.
* modules/select (Depends-on): Likewise.
* modules/send (Depends-on): Likewise.
* modules/sendto (Depends-on): Likewise.
* modules/setenv (Depends-on): Likewise.
* modules/setlocale (Depends-on): Likewise.
* modules/setsockopt (Depends-on): Likewise.
* modules/shutdown (Depends-on): Likewise.
* modules/sigaction (Depends-on): Likewise.
* modules/signbit (Depends-on): Likewise.
* modules/sigprocmask (Depends-on): Likewise.
* modules/sinl (Depends-on): Likewise.
* modules/sleep (Depends-on): Likewise.
* modules/snprintf (Depends-on): Likewise.
* modules/snprintf-posix (Depends-on): Likewise.
* modules/socket (Depends-on): Likewise.
* modules/sprintf-posix (Depends-on): Likewise.
* modules/sqrtl (Depends-on): Likewise.
* modules/stat (Depends-on): Likewise.
* modules/strchrnul (Depends-on): Likewise.
* modules/strdup-posix (Depends-on): Likewise.
* modules/strerror (Depends-on): Likewise.
* modules/strerror_r-posix (Depends-on): Likewise.
* modules/strndup (Depends-on): Likewise.
* modules/strnlen (Depends-on): Likewise.
* modules/strptime (Depends-on): Likewise.
* modules/strsep (Depends-on): Likewise.
* modules/strsignal (Depends-on): Likewise.
* modules/strstr-simple (Depends-on): Likewise.
* modules/strtod (Depends-on): Likewise.
* modules/strtoimax (Depends-on): Likewise.
* modules/strtok_r (Depends-on): Likewise.
* modules/strtoumax (Depends-on): Likewise.
* modules/symlink (Depends-on): Likewise.
* modules/symlinkat (Depends-on): Likewise.
* modules/tanl (Depends-on): Likewise.
* modules/tcgetsid (Depends-on): Likewise.
* modules/tmpfile (Depends-on): Likewise.
* modules/trunc (Depends-on): Likewise.
* modules/truncf (Depends-on): Likewise.
* modules/truncl (Depends-on): Likewise.
* modules/uname (Depends-on): Likewise.
* modules/unlink (Depends-on): Likewise.
* modules/unlockpt (Depends-on): Likewise.
* modules/unsetenv (Depends-on): Likewise.
* modules/usleep (Depends-on): Likewise.
* modules/utimensat (Depends-on): Likewise.
* modules/vasprintf (Depends-on): Likewise.
* modules/vdprintf (Depends-on): Likewise.
* modules/vdprintf-posix (Depends-on): Likewise.
* modules/vfprintf-posix (Depends-on): Likewise.
* modules/vprintf-posix (Depends-on): Likewise.
* modules/vsnprintf (Depends-on): Likewise.
* modules/vsnprintf-posix (Depends-on): Likewise.
* modules/vsprintf-posix (Depends-on): Likewise.
* modules/wcrtomb (Depends-on): Likewise.
* modules/wcscasecmp (Depends-on): Likewise.
* modules/wcscspn (Depends-on): Likewise.
* modules/wcsdup (Depends-on): Likewise.
* modules/wcsncasecmp (Depends-on): Likewise.
* modules/wcsnrtombs (Depends-on): Likewise.
* modules/wcspbrk (Depends-on): Likewise.
* modules/wcsrtombs (Depends-on): Likewise.
* modules/wcsspn (Depends-on): Likewise.
* modules/wcsstr (Depends-on): Likewise.
* modules/wcstok (Depends-on): Likewise.
* modules/wcswidth (Depends-on): Likewise.
* modules/wctob (Depends-on): Likewise.
* modules/wctomb (Depends-on): Likewise.
* modules/wctype (Depends-on): Likewise.
* modules/wcwidth (Depends-on): Likewise.
* modules/write (Depends-on): Likewise.
2011-05-03 23:38:19 +02:00
Bruno Haible b9453f8ce1 strtod: Remove check for strtod, unless supporting old platforms.
* modules/strtod-obsolete: New file.
* m4/strtod-obsolete.m4: New file.
* m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
if gl_FUNC_STRTOD_OBSOLETE is not also defined.
* modules/strtod (Depends-on): Add strtod-obsolete.
* doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
2011-04-25 20:53:41 +02:00
Bruno Haible 12eef17ca7 Unify tests that set gl_cv_func_ldexp_no_libm. 2010-07-12 23:45:39 +02:00
Paul R. Eggert 3458f09caa strtod: make it more-accurate typically, and don't require libm
* lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
Include limits.h.  Don't include string.h.
(HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
(locale_isspace): New function, so that no casts are needed to
check whether *s is a space.
(ldexp): Provide an unused dummy if not available.
(scale_radix_exp, parse_number, underlying_strtod): New functions.
(strtod): Use them.  This implementation prefers to use the
underlying strtod if available, falling back on our own code
only to fix known bugs.  This is more likely to produce an
accurate result.  Also, it avoids the use of libm functions.
* m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
was absent, but it caused a test failure with coreutils.
(gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
with libm.
* modules/strtod (Makefile.am, Link): libm is no longer needed.
* modules/strtod-tests (Makefile.am): Likewise.
2010-07-12 09:15:42 -07:00
Eric Blake bdc599c7bc Add hex float support.
* modules/strtod (Depends-on): Add c-ctype.
(Link): Mention POW_LIB.
* lib/strtod.c (strtod): Recognize hex floats.  Don't allow
whitespace between 'e' and exponent.
* tests/test-strtod.c (main): Enable hex float tests.
* doc/posix-functions/strtod.texi (strtod): Document what gnulib
now provides.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-29 21:24:07 -06:00
Eric Blake de138ad63a 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>
2008-03-29 19:16:57 -06:00
Bruno Haible 5eeec029e8 gnulib-tool now synthesizes the EXTRA_DIST line. 2006-10-13 12:40:22 +00:00
Bruno Haible e8684643a2 Distribute all lib/* source files through EXTRA_DIST. 2006-10-12 18:52:30 +00:00
Paul Eggert 55623f58e7 * gnulib-tool (func_import): Add support for 'public domain' license.
* modules/alloca, modules/atexit, modules/memmove:
Now public domain, not GPL.
* modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
* modules/realloc, modules/strerror, modules/strtod:
Now LGPL, not GPL.
2005-07-05 07:14:00 +00:00
Bruno Haible 5143f4e91f Add a license tag to every module. 2004-09-22 15:11:04 +00:00
Jim Meyering e36ce4f71f Use $(...) notation, not @...@ for AC_REPLACE'd variables. 2003-06-07 06:07:38 +00:00
Bruno Haible 6f99528a90 Add a Maintainer. 2003-01-20 10:02:37 +00:00
Bruno Haible 2e82f91f46 Add module descriptions. 2003-01-13 16:07:17 +00:00
Bruno Haible 740e9a30ef Module description. 2002-12-31 13:46:30 +00:00