diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | stdlib/strfroml.c | 15 | ||||
-rw-r--r-- | sysdeps/ieee754/float128/strfromf128.c | 13 |
3 files changed, 35 insertions, 2 deletions
@@ -1,5 +1,14 @@ 2017-11-24 Joseph Myers <joseph@codesourcery.com> + * stdlib/strfroml.c: Always include <stdlib.h>. + [__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x): Define and later + undefine as macro and define as weak alias. + * sysdeps/ieee754/float128/strfromf128.c: Include <bits/floatn.h>. + [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE]: Include + <stdlib.h>. + [__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 <stdlib.h> +#endif +#if __HAVE_FLOAT64X_LONG_DOUBLE +# define strfromf64x __hide_strfromf64x +#endif + +#include <stdlib.h> + +#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 <http://www.gnu.org/licenses/>. */ +#include <bits/floatn.h> + #define FLOAT _Float128 #define STRFROM strfromf128 -#include <bits/floatn.h> +#if __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE +# define strfromf64x __hide_strfromf64x +# include <stdlib.h> +# undef strfromf64x +#endif + #include <float128_private.h> #include <stdlib/strfrom-skeleton.c> + +#if __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE +weak_alias (strfromf128, strfromf64x) +#endif |