diff options
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/bits/stdlib-ldbl.h | 22 | ||||
-rw-r--r-- | stdlib/monetary.h | 3 | ||||
-rw-r--r-- | stdlib/stdlib.h | 4 |
3 files changed, 27 insertions, 2 deletions
diff --git a/stdlib/bits/stdlib-ldbl.h b/stdlib/bits/stdlib-ldbl.h index 5c6294e..2469474 100644 --- a/stdlib/bits/stdlib-ldbl.h +++ b/stdlib/bits/stdlib-ldbl.h @@ -21,21 +21,43 @@ #endif #ifdef __USE_ISOC99 +# ifdef __LDBL_COMPAT __LDBL_REDIR1_DECL (strtold, strtod) +# else +__LDBL_REDIR1_DECL (strtold, __strtoieee128) +# endif #endif #ifdef __USE_GNU +# ifdef __LDBL_COMPAT __LDBL_REDIR1_DECL (strtold_l, strtod_l) +# else +__LDBL_REDIR1_DECL (strtold_l, __strtoieee128_l) +# endif #endif #if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) +# ifdef __LDBL_COMPAT __LDBL_REDIR1_DECL (strfroml, strfromd) +# else +__LDBL_REDIR1_DECL (strfroml, __strfromieee128) +# endif #endif #ifdef __USE_MISC +# if defined __LDBL_COMPAT __LDBL_REDIR1_DECL (qecvt, ecvt) __LDBL_REDIR1_DECL (qfcvt, fcvt) __LDBL_REDIR1_DECL (qgcvt, gcvt) __LDBL_REDIR1_DECL (qecvt_r, ecvt_r) __LDBL_REDIR1_DECL (qfcvt_r, fcvt_r) +# elif __LONG_DOUBLE_USES_FLOAT128 == 1 +__LDBL_REDIR1_DECL (qecvt, __qecvtieee128) +__LDBL_REDIR1_DECL (qfcvt, __qfcvtieee128) +__LDBL_REDIR1_DECL (qgcvt, __qgcvtieee128) +__LDBL_REDIR1_DECL (qecvt_r, __qecvtieee128_r) +__LDBL_REDIR1_DECL (qfcvt_r, __qfcvtieee128_r) +# else +# error bits/stdlib-ldbl.h included when no ldbl redirections are required. +# endif #endif diff --git a/stdlib/monetary.h b/stdlib/monetary.h index dfb6ed5..4a6d61f 100644 --- a/stdlib/monetary.h +++ b/stdlib/monetary.h @@ -50,7 +50,8 @@ extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize, __THROW __attribute_format_strfmon__ (4, 5); #endif -#ifdef __LDBL_COMPAT +#include <bits/floatn.h> +#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1 # include <bits/monetary-ldbl.h> #endif diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index e347063..a7c0c71 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -1016,7 +1016,9 @@ extern int ttyslot (void) __THROW; #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function # include <bits/stdlib.h> #endif -#ifdef __LDBL_COMPAT + +#include <bits/floatn.h> +#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1 # include <bits/stdlib-ldbl.h> #endif |