strtod: Remove check for strtod, unless supporting old platforms.
authorBruno Haible <bruno@clisp.org>
Mon, 25 Apr 2011 18:53:41 +0000 (20:53 +0200)
committerBruno Haible <bruno@clisp.org>
Mon, 25 Apr 2011 18:53:41 +0000 (20:53 +0200)
* 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
doc/posix-functions/strtod.texi
m4/strtod-obsolete.m4 [new file with mode: 0644]
m4/strtod.m4
modules/strtod
modules/strtod-obsolete [new file with mode: 0644]

index 689156945011745adce461aa444a6b6741d0ca2d..ef14fb595d2cb3e0deea174bca7f022fae469e0f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
index 222f584a7932aca01f62668a6f742ec17bb5d969..4f8f08bdb748bb9daff86240fcddd580d3ea05e8 100644 (file)
@@ -4,13 +4,10 @@
 
 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 (file)
index 0000000..baeb898
--- /dev/null
@@ -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.
+  :
+])
index 4619c3357f9c664f9102c1c4f4f94979df318c7b..f40e342f4331cbac352c8cdc6aa67844dea3f6da 100644 (file)
@@ -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 <stdlib.h>
index 056ff4263d88a48ea2fc0b2618181858ad2d4931..935e5f8d6c542e955da5526e404369ec420c3290 100644 (file)
@@ -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 (file)
index 0000000..323df8a
--- /dev/null
@@ -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