[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: strtod on old platforms
From: |
Bruno Haible |
Subject: |
Re: strtod on old platforms |
Date: |
Sun, 24 Apr 2011 14:25:03 +0200 |
User-agent: |
KMail/1.9.9 |
Here's a similar proposed patch for strtod:
2011-04-24 Bruno Haible <address@hidden>
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.
=========================== modules/strtod-obsolete ===========================
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
============================ m4/strtod-obsolete.m4 ============================
# 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.
:
])
===============================================================================
--- doc/posix-functions/strtod.texi.orig Sun Apr 24 14:24:14 2011
+++ doc/posix-functions/strtod.texi Sun Apr 24 14:19:37 2011
@@ -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.
-
address@hidden
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}:
address@hidden
address@hidden
+This function is missing on some old platforms.
address@hidden itemize
+
Portability problems not fixed by Gnulib:
@itemize
@item
--- m4/strtod.m4.orig Sun Apr 24 14:24:14 2011
+++ m4/strtod.m4 Sun Apr 24 14:17:59 2011
@@ -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>
--- modules/strtod.orig Sun Apr 24 14:24:14 2011
+++ modules/strtod Sun Apr 24 14:17:34 2011
@@ -10,6 +10,7 @@
c-ctype
stdbool
stdlib
+strtod-obsolete
configure.ac:
gl_FUNC_STRTOD
--
In memoriam Siamanto <http://en.wikipedia.org/wiki/Siamanto>