From b9453f8ce1c5d8bfeb7c110e4c73ba35ac711023 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Mon, 25 Apr 2011 20:53:41 +0200 Subject: [PATCH] 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. --- ChangeLog | 10 ++++++++++ doc/posix-functions/strtod.texi | 13 ++++++++----- m4/strtod-obsolete.m4 | 11 +++++++++++ m4/strtod.m4 | 23 +++++++++++++---------- modules/strtod | 1 + modules/strtod-obsolete | 28 ++++++++++++++++++++++++++++ 6 files changed, 71 insertions(+), 15 deletions(-) create mode 100644 m4/strtod-obsolete.m4 create mode 100644 modules/strtod-obsolete diff --git a/ChangeLog b/ChangeLog index 689156945..ef14fb595 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2011-04-25 Bruno Haible + 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 Bruno Haible + strcase: Make module obsolete. * modules/strcase (Status, Notice): New sections. diff --git a/doc/posix-functions/strtod.texi b/doc/posix-functions/strtod.texi index 222f584a7..4f8f08bdb 100644 --- a/doc/posix-functions/strtod.texi +++ b/doc/posix-functions/strtod.texi @@ -4,14 +4,11 @@ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/strtod.html} -Gnulib module: strtod +Gnulib module: strtod or strtod-obsolete -Portability problems fixed by Gnulib: +Portability problems fixed by either Gnulib module @code{strtod} or @code{strtod-obsolete}: @itemize @item -This function is missing on some old platforms. - -@item This function mis-parses strings with leading @samp{+} on some old platforms: Old versions of Linux. @@ -67,6 +64,12 @@ platforms: AIX 7.1. @end itemize +Portability problems fixed by Gnulib module @code{strtod-obsolete}: +@itemize +@item +This function is missing on some old platforms. +@end itemize + Portability problems not fixed by Gnulib: @itemize @item diff --git a/m4/strtod-obsolete.m4 b/m4/strtod-obsolete.m4 new file mode 100644 index 000000000..baeb89803 --- /dev/null +++ b/m4/strtod-obsolete.m4 @@ -0,0 +1,11 @@ +# strtod-obsolete.m4 serial 1 +dnl Copyright (C) 2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_STRTOD_OBSOLETE], +[ + dnl The real code is in strtod.m4. + : +]) diff --git a/m4/strtod.m4 b/m4/strtod.m4 index 4619c3357..f40e342f4 100644 --- a/m4/strtod.m4 +++ b/m4/strtod.m4 @@ -1,4 +1,4 @@ -# strtod.m4 serial 19 +# strtod.m4 serial 20 dnl Copyright (C) 2002-2003, 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,15 +7,18 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOD], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - dnl Test whether strtod is declared. - dnl Don't call AC_FUNC_STRTOD, because it does not have the right guess - dnl when cross-compiling. - dnl Don't call AC_CHECK_FUNCS([strtod]) because it would collide with the - dnl ac_cv_func_strtod variable set by the AC_FUNC_STRTOD macro. - AC_CHECK_DECLS_ONCE([strtod]) - if test $ac_cv_have_decl_strtod != yes; then - HAVE_STRTOD=0 - else + m4_ifdef([gl_FUNC_STRTOD_OBSOLETE], [ + dnl Test whether strtod is declared. + dnl Don't call AC_FUNC_STRTOD, because it does not have the right guess + dnl when cross-compiling. + dnl Don't call AC_CHECK_FUNCS([strtod]) because it would collide with the + dnl ac_cv_func_strtod variable set by the AC_FUNC_STRTOD macro. + AC_CHECK_DECLS_ONCE([strtod]) + if test $ac_cv_have_decl_strtod != yes; then + HAVE_STRTOD=0 + fi + ]) + if test $HAVE_STRTOD = 1; then AC_CACHE_CHECK([whether strtod obeys C99], [gl_cv_func_strtod_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include diff --git a/modules/strtod b/modules/strtod index 056ff4263..935e5f8d6 100644 --- a/modules/strtod +++ b/modules/strtod @@ -10,6 +10,7 @@ Depends-on: c-ctype stdbool stdlib +strtod-obsolete configure.ac: gl_FUNC_STRTOD diff --git a/modules/strtod-obsolete b/modules/strtod-obsolete new file mode 100644 index 000000000..323df8aac --- /dev/null +++ b/modules/strtod-obsolete @@ -0,0 +1,28 @@ +Description: +strtod() function for old platforms. + +Status: +obsolete + +Notice: +This module is obsolete. + +Files: +m4/strtod-obsolete.m4 + +Depends-on: +strtod + +configure.ac: +gl_FUNC_STRTOD_OBSOLETE + +Makefile.am: + +Include: + + +License: +LGPLv2+ + +Maintainer: +Bruno Haible -- 2.11.0