mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 21:40:12 +00:00
Rename __LONG_DOUBLE_USES_FLOAT128 to __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI
Improve the commentary to aid future developers who will stumble upon this novel, yet not always perfect, mechanism to support alternative formats for long double. Likewise, rename __LONG_DOUBLE_USES_FLOAT128 to __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI now that development work has settled down. The command used was git grep -l __LONG_DOUBLE_USES_FLOAT128 ':!./ChangeLog*' | \ xargs sed -i 's/__LONG_DOUBLE_USES_FLOAT128/__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI/g' Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
This commit is contained in:
parent
86005fdbf4
commit
e2239af353
@ -555,7 +555,7 @@ __NTH (__option_is_end (const struct argp_option *__opt))
|
||||
#endif /* Use extern inlines. */
|
||||
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/argp-ldbl.h>
|
||||
#endif
|
||||
|
||||
|
@ -37,4 +37,17 @@
|
||||
#ifndef __NO_LONG_DOUBLE_MATH
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
#endif
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
|
||||
/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
|
||||
choice of the underlying ABI of long double. It will always assume
|
||||
a constant value for each translation unit.
|
||||
|
||||
If the value is non-zero, any API which is parameterized by the long
|
||||
double type (i.e the scanf/printf family of functions or the explicitly
|
||||
parameterized math.h functions) will be redirected to a compatible
|
||||
implementation using _Float128 ABI via symbols suffixed with ieee128.
|
||||
|
||||
The mechanism this macro uses to acquire may be a function
|
||||
of architecture, or target specific options used to invoke the
|
||||
compiler. */
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
||||
|
@ -15,7 +15,7 @@ do_test (void)
|
||||
if (i.dli_sname == NULL)
|
||||
return 1;
|
||||
|
||||
#if __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
/* On architectures which redirect long double to
|
||||
_Float128 (e.g powerpc64le), printf will resolve
|
||||
to __printfieee128 due to header redirects. There
|
||||
|
@ -19,7 +19,7 @@ hidden_proto (__isinff)
|
||||
hidden_proto (__isnanf)
|
||||
|
||||
# if !defined __NO_LONG_DOUBLE_MATH \
|
||||
&& __LONG_DOUBLE_USES_FLOAT128 == 0
|
||||
&& __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
|
||||
hidden_proto (__finitel)
|
||||
hidden_proto (__isinfl)
|
||||
hidden_proto (__isnanl)
|
||||
@ -42,7 +42,7 @@ libm_hidden_proto (__expf)
|
||||
libm_hidden_proto (__roundeven)
|
||||
|
||||
# if !defined __NO_LONG_DOUBLE_MATH \
|
||||
&& __LONG_DOUBLE_USES_FLOAT128 == 0
|
||||
&& __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
|
||||
libm_hidden_proto (__fpclassifyl)
|
||||
libm_hidden_proto (__issignalingl)
|
||||
libm_hidden_proto (__expl)
|
||||
@ -143,7 +143,7 @@ fabsf128 (_Float128 x)
|
||||
MATH_REDIRECT_LDBL (FUNC, PREFIX, ARGS) \
|
||||
MATH_REDIRECT_F128 (FUNC, PREFIX, ARGS)
|
||||
# if defined __NO_LONG_DOUBLE_MATH \
|
||||
|| __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
|| __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# define MATH_REDIRECT_LDBL(FUNC, PREFIX, ARGS)
|
||||
# else
|
||||
# define MATH_REDIRECT_LDBL(FUNC, PREFIX, ARGS) \
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */
|
||||
#include <bits/floatn.h>
|
||||
#if defined __cplusplus && __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3)
|
||||
# pragma GCC system_header
|
||||
# endif
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */
|
||||
#include <bits/floatn.h>
|
||||
#if defined __cplusplus && __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3)
|
||||
# pragma GCC system_header
|
||||
# endif
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */
|
||||
# include <bits/floatn.h>
|
||||
# if defined __cplusplus && __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
# if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3)
|
||||
# pragma GCC system_header
|
||||
# endif
|
||||
@ -22,10 +22,10 @@
|
||||
/* Some libc_hidden_ldbl_proto's do not map to a unique symbol when
|
||||
redirecting ldouble to _Float128 variants. We can therefore safely
|
||||
directly alias them to their internal name. */
|
||||
# if __LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)
|
||||
# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)
|
||||
# define stdio_hidden_ldbl_proto(p, f) \
|
||||
extern __typeof (p ## f) p ## f __asm (__ASMNAME ("___ieee128_" #f));
|
||||
# elif __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# define stdio_hidden_ldbl_proto(p,f) __LDBL_REDIR1_DECL (p ## f, p ## f ## ieee128)
|
||||
# else
|
||||
# define stdio_hidden_ldbl_proto(p,f) libc_hidden_proto (p ## f)
|
||||
@ -101,7 +101,7 @@ libc_hidden_proto (__isoc99_vfscanf)
|
||||
# define sscanf __isoc99_sscanf
|
||||
# endif
|
||||
|
||||
# if __LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)
|
||||
# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)
|
||||
/* These are implemented as redirects to other public API.
|
||||
Therefore, the usual redirection fails to avoid PLT. */
|
||||
extern __typeof (__isoc99_sscanf) ___ieee128_isoc99_sscanf __THROW;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */
|
||||
#include <bits/floatn.h>
|
||||
#if defined __cplusplus && __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3)
|
||||
# pragma GCC system_header
|
||||
# endif
|
||||
@ -216,7 +216,7 @@ libc_hidden_proto (____strtoull_l_internal)
|
||||
#include <bits/floatn.h>
|
||||
libc_hidden_proto (strtof)
|
||||
libc_hidden_proto (strtod)
|
||||
#if __LONG_DOUBLE_USES_FLOAT128 == 0
|
||||
#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
|
||||
libc_hidden_proto (strtold)
|
||||
#endif
|
||||
libc_hidden_proto (strtol)
|
||||
|
@ -16,7 +16,7 @@ rtld_hidden_proto (__chk_fail)
|
||||
/* If we are using redirects internally to support long double,
|
||||
we need to tweak some macros to ensure the PLT bypass tricks
|
||||
continue to work in libc. */
|
||||
#if __LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc) && defined SHARED
|
||||
#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc) && defined SHARED
|
||||
|
||||
# undef __LDBL_REDIR_DECL
|
||||
# define __LDBL_REDIR_DECL(func) \
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */
|
||||
# include <bits/floatn.h>
|
||||
# if defined __cplusplus && __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
# if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3)
|
||||
# pragma GCC system_header
|
||||
# endif
|
||||
|
@ -31,7 +31,7 @@ __LDBL_REDIR_DECL (vsprintf)
|
||||
__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf)
|
||||
__LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf)
|
||||
__LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf)
|
||||
# elif __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
__LDBL_REDIR1_DECL (fscanf, __isoc99_fscanfieee128)
|
||||
__LDBL_REDIR1_DECL (scanf, __isoc99_scanfieee128)
|
||||
__LDBL_REDIR1_DECL (sscanf, __isoc99_sscanfieee128)
|
||||
@ -55,7 +55,7 @@ __LDBL_REDIR_DECL (vsnprintf)
|
||||
__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf)
|
||||
__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf)
|
||||
__LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf)
|
||||
# elif __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
__LDBL_REDIR1_DECL (vfscanf, __isoc99_vfscanfieee128)
|
||||
__LDBL_REDIR1_DECL (vscanf, __isoc99_vscanfieee128)
|
||||
__LDBL_REDIR1_DECL (vsscanf, __isoc99_vsscanfieee128)
|
||||
|
@ -401,11 +401,11 @@ extern int sscanf (const char *__restrict __s,
|
||||
|
||||
/* For historical reasons, the C99-compliant versions of the scanf
|
||||
functions are at alternative names. When __LDBL_COMPAT or
|
||||
__LONG_DOUBLE_USES_FLOAT128 are in effect, this is handled in
|
||||
__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in
|
||||
bits/stdio-ldbl.h. */
|
||||
#include <bits/floatn.h>
|
||||
#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \
|
||||
&& __LONG_DOUBLE_USES_FLOAT128 == 0
|
||||
&& __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
|
||||
# ifdef __REDIRECT
|
||||
extern int __REDIRECT (fscanf, (FILE *__restrict __stream,
|
||||
const char *__restrict __format, ...),
|
||||
@ -451,7 +451,7 @@ extern int vsscanf (const char *__restrict __s,
|
||||
/* Same redirection as above for the v*scanf family. */
|
||||
# if !__GLIBC_USE (DEPRECATED_SCANF)
|
||||
# if defined __REDIRECT && !defined __LDBL_COMPAT \
|
||||
&& __LONG_DOUBLE_USES_FLOAT128 == 0
|
||||
&& __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
|
||||
extern int __REDIRECT (vfscanf,
|
||||
(FILE *__restrict __s,
|
||||
const char *__restrict __format, __gnuc_va_list __arg),
|
||||
@ -872,7 +872,7 @@ extern int __overflow (FILE *, int);
|
||||
#endif
|
||||
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/stdio-ldbl.h>
|
||||
#endif
|
||||
|
||||
|
@ -126,7 +126,7 @@ __BEGIN_DECLS
|
||||
# undef __MATHDECL_1
|
||||
# define __MATHDECL_1(type, function, args) \
|
||||
extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, function)
|
||||
# elif __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# undef __MATHDECL_1
|
||||
# undef __MATHDECL
|
||||
# define __REDIR_TO(function) \
|
||||
@ -142,7 +142,7 @@ __BEGIN_DECLS
|
||||
# define __MATH_PRECNAME(name) name##l
|
||||
# include <bits/cmathcalls.h>
|
||||
# if defined __LDBL_COMPAT \
|
||||
|| __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
|| __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# undef __REDIR_TO
|
||||
# undef __MATHDECL_1
|
||||
# undef __MATHDECL
|
||||
|
12
math/math.h
12
math/math.h
@ -343,7 +343,7 @@ extern long double __REDIRECT_NTH (nexttowardl,
|
||||
# define __MATHDECL_1(type, function,suffix, args) \
|
||||
__MATHREDIR(type, function, suffix, args, __CONCAT(function,suffix))
|
||||
|
||||
# elif __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# ifdef __REDIRECT_NTH
|
||||
# ifdef __USE_ISOC99
|
||||
extern float __REDIRECT_NTH (nexttowardf, (float __x, long double __y),
|
||||
@ -390,7 +390,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
|
||||
# undef __MATH_DECLARING_FLOATN
|
||||
|
||||
# if defined __LDBL_COMPAT \
|
||||
|| __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
|| __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# undef __REDIRTO
|
||||
# undef __REDIRTO_ALT
|
||||
# undef __MATHDECL_1
|
||||
@ -562,7 +562,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
|
||||
# undef __MATHCALL_NARROW
|
||||
# define __MATHCALL_NARROW(func, redir, nargs) \
|
||||
__MATHCALL_NARROW_REDIR (func, redir, nargs)
|
||||
# elif __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# define __MATHCALL_REDIR_NAME(name) __ ## f32 ## name ## ieee128
|
||||
# undef __MATHCALL_NARROW
|
||||
# define __MATHCALL_NARROW(func, redir, nargs) \
|
||||
@ -573,7 +573,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
|
||||
# undef _Marg_
|
||||
# undef __MATHCALL_NAME
|
||||
# if defined __LDBL_COMPAT \
|
||||
|| __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
|| __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# undef __MATHCALL_REDIR_NAME
|
||||
# undef __MATHCALL_NARROW
|
||||
# define __MATHCALL_NARROW(func, redir, nargs) \
|
||||
@ -588,7 +588,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
|
||||
# undef __MATHCALL_NARROW
|
||||
# define __MATHCALL_NARROW(func, redir, nargs) \
|
||||
__MATHCALL_NARROW_REDIR (func, redir, nargs)
|
||||
# elif __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# define __MATHCALL_REDIR_NAME(name) __ ## f64 ## name ## ieee128
|
||||
# undef __MATHCALL_NARROW
|
||||
# define __MATHCALL_NARROW(func, redir, nargs) \
|
||||
@ -599,7 +599,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
|
||||
# undef _Marg_
|
||||
# undef __MATHCALL_NAME
|
||||
# if defined __LDBL_COMPAT \
|
||||
|| __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
|| __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# undef __MATHCALL_REDIR_NAME
|
||||
# undef __MATHCALL_NARROW
|
||||
# define __MATHCALL_NARROW(func, redir, nargs) \
|
||||
|
@ -29,7 +29,7 @@
|
||||
/* On architectures which redirect long double to _Float128 ABI, we must
|
||||
choose the float128 ulps. Similarly, on such architectures, the ABI
|
||||
used may be dependent on how the compiler was invoked. */
|
||||
#elif __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# define TYPE_STR "float128"
|
||||
# define ULP_IDX ULP_FLT128
|
||||
#else
|
||||
|
@ -53,7 +53,7 @@ extern void verrx (int __status, const char *, __gnuc_va_list)
|
||||
__attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
|
||||
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/err-ldbl.h>
|
||||
#endif
|
||||
|
||||
|
@ -48,7 +48,7 @@ extern unsigned int error_message_count;
|
||||
extern int error_one_per_line;
|
||||
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/error-ldbl.h>
|
||||
#else
|
||||
/* Do not inline error and error_at_line when long double has the same
|
||||
|
@ -452,7 +452,7 @@
|
||||
#include <bits/wordsize.h>
|
||||
#include <bits/long-double.h>
|
||||
|
||||
#if __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# ifdef __REDIRECT
|
||||
|
||||
/* Alias name defined automatically. */
|
||||
@ -503,7 +503,7 @@ _Static_assert (0, "IEEE 128-bits long double requires redirection on this platf
|
||||
__LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
|
||||
# endif
|
||||
#endif
|
||||
#if (!defined __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) \
|
||||
#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \
|
||||
|| !defined __REDIRECT
|
||||
# define __LDBL_REDIR1(name, proto, alias) name proto
|
||||
# define __LDBL_REDIR(name, proto) name proto
|
||||
|
@ -208,7 +208,7 @@ extern void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap)
|
||||
#endif
|
||||
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/syslog-ldbl.h>
|
||||
#endif
|
||||
|
||||
|
@ -183,7 +183,7 @@ extern int printf_size_info (const struct printf_info *__restrict
|
||||
__THROW;
|
||||
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/printf-ldbl.h>
|
||||
#endif
|
||||
|
||||
|
@ -147,7 +147,7 @@ do_test (void)
|
||||
|
||||
/* Alias declaration for asprintf, to avoid the format string
|
||||
attribute and the associated warning. */
|
||||
#if __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
extern int asprintf_alias (char **, const char *, ...) __asm__ ("__asprintfieee128");
|
||||
#else
|
||||
extern int asprintf_alias (char **, const char *, ...) __asm__ ("asprintf");
|
||||
|
@ -51,7 +51,7 @@ __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
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
__LDBL_REDIR1_DECL (qecvt, __qecvtieee128)
|
||||
__LDBL_REDIR1_DECL (qfcvt, __qfcvtieee128)
|
||||
__LDBL_REDIR1_DECL (qgcvt, __qgcvtieee128)
|
||||
|
@ -51,7 +51,7 @@ extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize,
|
||||
#endif
|
||||
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/monetary-ldbl.h>
|
||||
#endif
|
||||
|
||||
|
@ -1018,7 +1018,7 @@ extern int ttyslot (void) __THROW;
|
||||
#endif
|
||||
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/stdlib-ldbl.h>
|
||||
#endif
|
||||
|
||||
|
@ -18,4 +18,4 @@
|
||||
|
||||
/* long double is distinct from double, so there is nothing to
|
||||
define here. */
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
||||
|
@ -22,8 +22,5 @@
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
# endif
|
||||
#endif
|
||||
/* On platforms that reuse the _Float128 implementation for IEEE long
|
||||
double, access to the correct long double functions is selected based
|
||||
on the long double mode being used during the compilation. On
|
||||
powerpc64le, this is true when -mabi=ieeelongdouble is in use. */
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 (__LDBL_MANT_DIG__ == 113)
|
||||
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI (__LDBL_MANT_DIG__ == 113)
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
/* Trampoline in the ldbl-128ibm headers if building against the
|
||||
old abi. Otherwise, we have nothing to add. */
|
||||
#if __LONG_DOUBLE_USES_FLOAT128 == 0
|
||||
#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
|
||||
#include_next <math_ldbl.h>
|
||||
#endif
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
#if defined (__NO_LONG_DOUBLE_MATH) || __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
|
||||
#else
|
||||
extern int __iscanonicall (long double __x)
|
||||
|
@ -112,7 +112,7 @@ union ieee754_double
|
||||
#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
|
||||
|
||||
|
||||
#if __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
/* long double is IEEE 128 bit */
|
||||
union ieee854_long_double
|
||||
{
|
||||
@ -170,7 +170,7 @@ union ieee854_long_double
|
||||
#endif
|
||||
|
||||
|
||||
#if __LONG_DOUBLE_USES_FLOAT128 == 0 || __GNUC_PREREQ (7, 0)
|
||||
#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0)
|
||||
/* IBM extended format for long double.
|
||||
|
||||
Each long double is made up of two IEEE doubles. The value of the
|
||||
@ -183,7 +183,7 @@ union ieee854_long_double
|
||||
NaN is don't-care. */
|
||||
union ibm_extended_long_double
|
||||
{
|
||||
# if __LONG_DOUBLE_USES_FLOAT128 == 1 && __GNUC_PREREQ (7, 0)
|
||||
# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
|
||||
__ibm128 ld;
|
||||
# else
|
||||
long double ld;
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include_next <bits/iscanonical.h>
|
||||
|
||||
#if !defined _ISOMAC && (__LONG_DOUBLE_USES_FLOAT128 == 0)
|
||||
#if !defined _ISOMAC && (__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0)
|
||||
libm_hidden_proto (__iscanonicall)
|
||||
#endif
|
||||
|
@ -18,4 +18,4 @@
|
||||
|
||||
/* long double is distinct from double, so there is nothing to
|
||||
define here. */
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
||||
|
@ -22,4 +22,4 @@
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
# endif
|
||||
#endif
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
||||
|
@ -21,4 +21,4 @@
|
||||
#if !defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
#endif
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
||||
|
@ -24,4 +24,4 @@
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
# endif
|
||||
#endif
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
||||
|
@ -24,4 +24,4 @@
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
# endif
|
||||
#endif
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
||||
|
@ -32,7 +32,7 @@ __LDBL_REDIR_DECL (vswprintf);
|
||||
__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf)
|
||||
__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf)
|
||||
__LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf)
|
||||
# elif __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
__LDBL_REDIR1_DECL (fwscanf, __isoc99_fwscanfieee128)
|
||||
__LDBL_REDIR1_DECL (wscanf, __isoc99_wscanfieee128)
|
||||
__LDBL_REDIR1_DECL (swscanf, __isoc99_swscanfieee128)
|
||||
@ -57,7 +57,7 @@ __LDBL_REDIR1_DECL (wcstold, __wcstoieee128)
|
||||
__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf)
|
||||
__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf)
|
||||
__LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf)
|
||||
# elif __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
__LDBL_REDIR1_DECL (vfwscanf, __isoc99_vfwscanfieee128)
|
||||
__LDBL_REDIR1_DECL (vwscanf, __isoc99_vwscanfieee128)
|
||||
__LDBL_REDIR1_DECL (vswscanf, __isoc99_vswscanfieee128)
|
||||
|
@ -634,10 +634,10 @@ extern int swscanf (const wchar_t *__restrict __s,
|
||||
|
||||
/* For historical reasons, the C99-compliant versions of the scanf
|
||||
functions are at alternative names. When __LDBL_COMPAT or
|
||||
__LONG_DOUBLE_USES_FLOAT128 are in effect, this is handled in
|
||||
__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in
|
||||
bits/wchar-ldbl.h. */
|
||||
#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \
|
||||
&& __LONG_DOUBLE_USES_FLOAT128 == 0
|
||||
&& __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
|
||||
# ifdef __REDIRECT
|
||||
extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream,
|
||||
const wchar_t *__restrict __format, ...),
|
||||
@ -691,7 +691,7 @@ extern int vswscanf (const wchar_t *__restrict __s,
|
||||
# if !__GLIBC_USE (DEPRECATED_SCANF) \
|
||||
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
|
||||
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K) \
|
||||
&& __LONG_DOUBLE_USES_FLOAT128 == 0
|
||||
&& __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
|
||||
# ifdef __REDIRECT
|
||||
extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s,
|
||||
const wchar_t *__restrict __format,
|
||||
@ -853,7 +853,7 @@ extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
|
||||
#endif
|
||||
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/wchar-ldbl.h>
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user