From: Paul Eggert Date: Sat, 2 Feb 2019 21:01:55 +0000 (-0800) Subject: dtoastr,ftoastr,ldtoastr: port to c-strtod changes X-Git-Tag: v1.0~5086 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=2f6abcc9f5b2d31a6ea032e075fc923d3ed79b0a;p=gnulib.git 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. --- diff --git a/ChangeLog b/ChangeLog index 8716134a96..91ff7eaed1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2019-02-02 Paul Eggert + + 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 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