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. --- ChangeLog | 16 ++++++++++++++++ NEWS | 4 ++++ lib/ftoastr.c | 6 ++---- m4/c-strtod.m4 | 4 +--- modules/dtoastr | 2 -- modules/ftoastr | 2 -- modules/ldtoastr | 2 -- 7 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 8716134a9..91ff7eaed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2019-02-02 Paul Eggert <egg...@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 <br...@clisp.org> fma: Improve code style. diff --git a/NEWS b/NEWS index f8150a9ea..481524b94 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 6c0ce261d..55f1e02e8 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 1d4b7f860..58e9c40be 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 72f0da8fc..e29b37e86 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 2d583d491..0088db160 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 5695e77ee..40d69f3d6 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 -- 2.20.1