summaryrefslogtreecommitdiff
path: root/m4/strtod.m4
Commit message (Collapse)AuthorAgeFilesLines
* Put more information about failed tests into the test return codes.Bruno Haible2010-12-061-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test program so that it returns an enumerated value (0, 1, 2, 3, 4, ...). * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise. * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise. * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise. * m4/getline.m4 (gl_FUNC_GETLINE): Likewise. * m4/intdiv0.m4 (gt_INTDIV0): Likewise. * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise. * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise. * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise. * m4/stdint.m4 (gl_STDINT_H): Likewise. * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it returns a bit mask. * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise. * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise. * m4/dup2.m4 (gl_FUNC_DUP2): Likewise. * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise. * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise. * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise. * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise. * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise. * m4/iconv.m4 (AM_ICONV_LINK): Likewise. * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise. * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise. * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise. * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise. * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise. * m4/link.m4 (gl_FUNC_LINK): Likewise. * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise. * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise. * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise. * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise. * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise. * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise. * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise. * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise. * m4/open.m4 (gl_FUNC_OPEN): Likewise. * m4/poll.m4 (gl_FUNC_POLL): Likewise. * m4/popen.m4 (gl_FUNC_POPEN): Likewise. * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_PRECISION): Likewise. * m4/regex.m4 (gl_REGEX): Likewise. * m4/rename.m4 (gl_FUNC_RENAME): Likewise. * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise. * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise. * m4/stat.m4 (gl_FUNC_STAT): Likewise. * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise. * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise. * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise. * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise. * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise. * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise. * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise. * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise. * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise. * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise. (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an enumerated value. * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
* Port to uClibc.Bruno Haible2010-11-201-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/relocatable.c (find_shared_library_fullname): Treat uClibc like glibc. * lib/strerror_r.c: Likewise. * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise. * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise. * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise. * m4/glibc21.m4 (gl_GLIBC21): Likewise. * tests/test-sigaction.c (handler, main): Likewise. * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL): Treat uClibc like a non-glibc platform. * lib/propername.c (proper_name_utf8): Likewise. * lib/spawn.in.h: Likewise. * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise. * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1, mem_cd_iconveh_internal): Likewise. * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise. * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk, strstr, strcasestr): Likewise. * lib/unicodeio.c (unicode_to_mb): Likewise. * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise. * m4/getline.m4 (gl_FUNC_GETLINE): Likewise. * m4/glibc2.m4 (gt_GLIBC2): Likewise. * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise. * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise. * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR): Likewise. * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise. * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise. * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. * m4/wchar_h.m4 (gl_WCHAR_H): Likewise. * tests/test-getopt.h (OPTIND_MIN): Likewise. * tests/test-striconveha.c (main): Likewise. * doc/posix-functions/getdelim.texi: Mention an uClibc bug. * doc/posix-functions/getline.texi: Likewise. Reported by Mike Frysinger <vapier@gentoo.org>.
* strtod: aid debuggingEric Blake2010-07-291-7/+7
| | | | | | | * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid understanding why strtod is rejected. Signed-off-by: Eric Blake <eblake@redhat.com>
* Unify tests that set gl_cv_func_ldexp_no_libm.Bruno Haible2010-07-121-12/+2
|
* strtod: make it more-accurate typically, and don't require libmPaul R. Eggert2010-07-121-5/+19
| | | | | | | | | | | | | | | | | | | | | * 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.
* strtod: Assume strtod() works when cross-compiling to new-enough glibc.Ben Pfaff2010-06-151-1/+13
|
* Factor out common code in gl_FUNC_STRTOD.Ben Pfaff2010-06-151-6/+5
|
* strtod: Stop using AC_FUNC_STRTOD.Bruno Haible2010-06-151-4/+28
|
* strtod: Avoid a possible C++ test error.Bruno Haible2010-04-041-2/+1
|
* update nearly all FSF copyright year lists to include 2010Jim Meyering2010-01-011-1/+1
| | | | | Use the same procedure as for 2009, outlined in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
* Use spaces for indentation, not tabs.Bruno Haible2009-12-101-3/+3
|
* strtod: detect darwin bugEric Blake2009-11-051-1/+9
| | | | | | | * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(". Reported by Leo Davis. Signed-off-by: Eric Blake <ebb9@byu.net>
* strtod: avoid C99 decl-after-statementGary V. Vaughan2009-02-251-2/+3
| | | | | | * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration. Signed-off-by: Eric Blake <ebb9@byu.net>
* strtod: detect HP-UX 11.31 bugEric Blake2009-02-241-3/+6
| | | | | | | * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug. Reported by Gary V. Vaughan. Signed-off-by: Eric Blake <ebb9@byu.net>
* many *.m4 files: improve m4 quotingJim Meyering2009-01-141-4/+3
| | | | | | | | | | | | | | | | 99% of this change was performed by running the following commands: git ls-files | grep '\.m4$' | xargs perl -pi \ -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \ -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \ -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \ -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g' perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4 The remainder were to add Copyright dates, increment serial numbers, undo some changes in comments, exclude m4/intl.m4, and add quotes around the "1" in ",1" where the unusual spacing prohibited the above regexps from doing the job. For more details, see <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
* Adjust strtod detection to catch glibc 2.7 bug.Eric Blake2008-04-161-1/+17
| | | | | | | * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior. Reported by BuraphaLinux Server. Signed-off-by: Eric Blake <ebb9@byu.net>
* Work around Solaris 10 math.h bug.Eric Blake2008-04-121-1/+2
| | | | | | | | | | | | | * m4/math_h.m4 (gl_MATH_H): Check for bug. (gl_MATH_H_DEFAULTS): Set up default. * modules/math (Makefile.am): Replace new indicators. * lib/math.in.h (NAN, HUGE_VAL): Provide replacements. * tests/test-math.c (main): Test this. * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL. * doc/posix-headers/math.texi (math.h): Mention bug. Reported by Nelson H. F. Beebe and Jim Meyering. Signed-off-by: Eric Blake <ebb9@byu.net>
* Improve strtod bug detection check.Eric Blake2008-04-041-3/+11
| | | | | | | | * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing, required for Solaris 10. Reported by Bob Friesenhahn and Nelson H. F. Beebe. Signed-off-by: Eric Blake <ebb9@byu.net>
* Document various strtod bugs, with some fixes.Eric Blake2008-03-291-4/+38
| | | | | | | | | | | | | | | | | | | * 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>
* 2007-01-24 Bruno Haible <bruno@clisp.org>Bruno Haible2007-01-251-3/+4
| | | | | | | | | | | | | | | | | | | Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>. * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE. * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require, gl_FUNC_FTS_CORE. (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT. * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require, AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP. * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME. * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require, gl_FUNC_FCHOWNAT. * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require, gl_FUNC_STRFTIME. * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD. Reported by Ralf Wildenhues.
* * lib/memcasecmp.c: Include <limits.h>.Paul Eggert2006-07-051-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX. * lib/strtod.c (strtod): Don't assume isspace works on negative chars. Don't assume isdigit succeeds only on '0' through '9'. * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed. All uses of is_space replaced by isspace. * lib/fnmatch.c (ISASCII): Remove; no longer needed. All uses removed. (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT): (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed. All uses replaced by isprint etc. * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise. * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise. * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise. * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise. * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE rather than AC_CHECK_DECLS for strtoimax and strtoumax. * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer needed. All uses removed. * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer needed. * m4/getdate.m4 (gl_GETDATE): Likewise. * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise. * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer needed. * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC; no longer needed. * m4/exclude.m4 (gl_EXCLUDE): Likewise. * m4/getdate.m4 (gl_GETDATE): Likewise. * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise. * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise. * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
* Use an all-permissive copyright notice, recommended by RMS.Paul Eggert2005-01-231-6/+4
|
* Remove K&R cruft.Paul Eggert2003-09-121-2/+1
|
* Make this module usable in shared libraries.Bruno Haible2003-01-311-2/+4
|
* An autoconf macro for its associated module.Bruno Haible2002-12-311-0/+23
|
* .Jim Meyering1997-03-211-69/+0
|
* copied from automake-1.1lJim Meyering1996-12-211-0/+69