changeset 34307:52c4b9903bec

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.
author Bruno Haible <bruno@clisp.org>
date Mon, 25 Apr 2011 20:53:41 +0200
parents 6e533cd63634
children dc0cae4805e7
files ChangeLog doc/posix-functions/strtod.texi m4/strtod-obsolete.m4 m4/strtod.m4 modules/strtod modules/strtod-obsolete
diffstat 6 files changed, 71 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Apr 25 19:46:27 2011 +0200
+++ b/ChangeLog	Mon Apr 25 20:53:41 2011 +0200
@@ -1,3 +1,13 @@
+2011-04-25  Bruno Haible  <bruno@clisp.org>
+
+	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  <bruno@clisp.org>
 
 	strcase: Make module obsolete.
--- a/doc/posix-functions/strtod.texi	Mon Apr 25 19:46:27 2011 +0200
+++ b/doc/posix-functions/strtod.texi	Mon Apr 25 20:53:41 2011 +0200
@@ -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 @@
 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m4/strtod-obsolete.m4	Mon Apr 25 20:53:41 2011 +0200
@@ -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.
+  :
+])
--- a/m4/strtod.m4	Mon Apr 25 19:46:27 2011 +0200
+++ b/m4/strtod.m4	Mon Apr 25 20:53:41 2011 +0200
@@ -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 @@
 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 <stdlib.h>
--- a/modules/strtod	Mon Apr 25 19:46:27 2011 +0200
+++ b/modules/strtod	Mon Apr 25 20:53:41 2011 +0200
@@ -10,6 +10,7 @@
 c-ctype
 stdbool
 stdlib
+strtod-obsolete
 
 configure.ac:
 gl_FUNC_STRTOD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/strtod-obsolete	Mon Apr 25 20:53:41 2011 +0200
@@ -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:
+<string.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+Bruno Haible