diff --git a/ChangeLog b/ChangeLog index b58c4e21ba..abcbfe1d61 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2017-11-24 Joseph Myers + * stdlib/strfroml.c: Always include . + [__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x): Define and later + undefine as macro and define as weak alias. + * sysdeps/ieee754/float128/strfromf128.c: Include . + [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE]: Include + . + [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x): + Define and later undefine as macro and define as weak alias. + * stdlib/strtold.c [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x): Define and later undefine as macro. Define as weak alias if [!USE_WIDE_CHAR]. diff --git a/stdlib/strfroml.c b/stdlib/strfroml.c index bd6ebca0ad..3d1b6bf3dc 100644 --- a/stdlib/strfroml.c +++ b/stdlib/strfroml.c @@ -23,12 +23,25 @@ #if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128 # define strfromf128 __hide_strfromf128 -# include +#endif +#if __HAVE_FLOAT64X_LONG_DOUBLE +# define strfromf64x __hide_strfromf64x +#endif + +#include + +#if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128 # undef strfromf128 #endif +#if __HAVE_FLOAT64X_LONG_DOUBLE +# undef strfromf64x +#endif #include "strfrom-skeleton.c" #if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128 weak_alias (strfroml, strfromf128) #endif +#if __HAVE_FLOAT64X_LONG_DOUBLE +weak_alias (strfroml, strfromf64x) +#endif diff --git a/sysdeps/ieee754/float128/strfromf128.c b/sysdeps/ieee754/float128/strfromf128.c index 597c7e62f9..c3183cd7ef 100644 --- a/sysdeps/ieee754/float128/strfromf128.c +++ b/sysdeps/ieee754/float128/strfromf128.c @@ -16,10 +16,21 @@ License along with the GNU C Library; if not, see . */ +#include + #define FLOAT _Float128 #define STRFROM strfromf128 -#include +#if __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE +# define strfromf64x __hide_strfromf64x +# include +# undef strfromf64x +#endif + #include #include + +#if __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE +weak_alias (strfromf128, strfromf64x) +#endif