summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog16
-rw-r--r--NEWS4
-rw-r--r--lib/ftoastr.c6
-rw-r--r--m4/c-strtod.m44
-rw-r--r--modules/dtoastr2
-rw-r--r--modules/ftoastr2
-rw-r--r--modules/ldtoastr2
7 files changed, 23 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 8716134a96..91ff7eaed1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2019-02-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ dtoastr,ftoastr,ldtoastr: port to c-strtod changes
+ Decouple these modules from c-strtod. Nowadays it’s reasonable to
+ assume the C99 signatures for strtod and strtold. Programs that
+ require stricter adherence to C99 should also use the strtod and
+ strtold modules as needed, and we no longer need the
+ HAVE_C99_STRTOLD macro.
+ * NEWS: Mention this.
+ * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
+ * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
+ * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
+ (Files): Remove m4/c-strtod.m4.
+ (configure.ac): Do not require gl_C99_STRTOLD, which no longer
+ exists.
+
2019-02-02 Bruno Haible <bruno@clisp.org>
fma: Improve code style.
diff --git a/NEWS b/NEWS
index f8150a9eaf..481524b943 100644
--- a/NEWS
+++ b/NEWS
@@ -48,6 +48,10 @@ User visible incompatible changes
Date Modules Changes
+2019-02-02 c-strtod This and related modules no longer define
+ the HAVE_C99_STRTOLD macro. Programs requiring
+ standard strtold should use the strtold module.
+
2019-01-21 diacrit This module is deprecated. Please use the module
uninorm/canonical-decomposition instead.
diff --git a/lib/ftoastr.c b/lib/ftoastr.c
index 6c0ce261dc..55f1e02e80 100644
--- a/lib/ftoastr.c
+++ b/lib/ftoastr.c
@@ -40,9 +40,7 @@
# define FLOAT_PREC_BOUND _GL_LDBL_PREC_BOUND
# define FTOASTR ldtoastr
# define PROMOTED_FLOAT long double
-# if HAVE_C99_STRTOLD
-# define STRTOF strtold
-# endif
+# define STRTOF strtold
#elif LENGTH == 2
# define FLOAT double
# define FLOAT_DIG DBL_DIG
@@ -63,7 +61,7 @@
# endif
#endif
-/* On pre-C99 hosts, approximate strtof and strtold with strtod. This
+/* On pre-C99 hosts, approximate strtof with strtod. This
may generate one or two extra digits, but that's better than not
working at all. */
#ifndef STRTOF
diff --git a/m4/c-strtod.m4 b/m4/c-strtod.m4
index 1d4b7f860c..58e9c40be2 100644
--- a/m4/c-strtod.m4
+++ b/m4/c-strtod.m4
@@ -1,4 +1,4 @@
-# c-strtod.m4 serial 17
+# c-strtod.m4 serial 18
# Copyright (C) 2004-2006, 2009-2019 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
@@ -47,7 +47,5 @@ AC_DEFUN([gl_C_STRTOLD],
[
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
AC_REQUIRE([gt_FUNC_USELOCALE])
- AC_DEFINE([HAVE_C99_STRTOLD], [1],
- [Define to 1 because the gnulib 'strtold' module provides a C99-conforming strtold function.])
AC_CHECK_FUNCS([strtold_l])
])
diff --git a/modules/dtoastr b/modules/dtoastr
index 72f0da8fcd..e29b37e866 100644
--- a/modules/dtoastr
+++ b/modules/dtoastr
@@ -5,14 +5,12 @@ Files:
lib/ftoastr.h
lib/ftoastr.c
lib/dtoastr.c
-m4/c-strtod.m4
Depends-on:
extensions
intprops
configure.ac:
-AC_REQUIRE([gl_C99_STRTOLD])
Makefile.am:
lib_SOURCES += dtoastr.c
diff --git a/modules/ftoastr b/modules/ftoastr
index 2d583d4912..0088db160e 100644
--- a/modules/ftoastr
+++ b/modules/ftoastr
@@ -4,7 +4,6 @@ Convert float to accurate string.
Files:
lib/ftoastr.h
lib/ftoastr.c
-m4/c-strtod.m4
Depends-on:
extensions
@@ -12,7 +11,6 @@ intprops
configure.ac:
AC_CHECK_FUNCS_ONCE([strtof])
-AC_REQUIRE([gl_C99_STRTOLD])
Makefile.am:
lib_SOURCES += ftoastr.c
diff --git a/modules/ldtoastr b/modules/ldtoastr
index 5695e77ee0..40d69f3d6c 100644
--- a/modules/ldtoastr
+++ b/modules/ldtoastr
@@ -5,14 +5,12 @@ Files:
lib/ftoastr.h
lib/ftoastr.c
lib/ldtoastr.c
-m4/c-strtod.m4
Depends-on:
extensions
intprops
configure.ac:
-AC_REQUIRE([gl_C99_STRTOLD])
Makefile.am:
lib_SOURCES += ldtoastr.c