mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-15 17:40:06 +00:00
0d13dfa17b
The sysdeps/ieee754/ldbl-opt version of math_ldbl_opt.h includes math.h and math_private.h, despite not having any need for those headers itself; the sysdeps/generic version doesn't. About 20 files are relying on math_ldbl_opt.h to include math.h and/or math_private.h for them, even though none of them necessarily used on a platform that needs ldbl-opt support. * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Don't include math.h or math_private.h. * sysdeps/alpha/fpu/s_isnan.c * sysdeps/ieee754/ldbl-128ibm/s_ceill.c * sysdeps/ieee754/ldbl-128ibm/s_floorl.c * sysdeps/ieee754/ldbl-128ibm/s_llrintl.c * sysdeps/ieee754/ldbl-128ibm/s_llroundl.c * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c * sysdeps/ieee754/ldbl-128ibm/s_rintl.c * sysdeps/ieee754/ldbl-128ibm/s_roundl.c * sysdeps/ieee754/ldbl-128ibm/s_truncl.c * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot.c * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf.c: * sysdeps/powerpc/powerpc64/fpu/multiarch/e_expf.c * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot.c * sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf.c: Include math_private.h. * sysdeps/ieee754/ldbl-64-128/s_finitel.c * sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c * sysdeps/ieee754/ldbl-64-128/s_isinfl.c * sysdeps/ieee754/ldbl-64-128/s_isnanl.c * sysdeps/ieee754/ldbl-64-128/s_signbitl.c * sysdeps/powerpc/power7/fpu/s_logb.c: Include math.h and math_private.h.
44 lines
1.7 KiB
C
44 lines
1.7 KiB
C
/* -mlong-double-64 compatibility mode macros. */
|
|
|
|
#include <nldbl-abi.h>
|
|
#ifndef LONG_DOUBLE_COMPAT_VERSION
|
|
# error "nldbl-abi.h must define LONG_DOUBLE_COMPAT_VERSION"
|
|
#endif
|
|
|
|
#include <shlib-compat.h>
|
|
#define LONG_DOUBLE_COMPAT(lib, introduced) \
|
|
SHLIB_COMPAT(lib, introduced, LONG_DOUBLE_COMPAT_VERSION)
|
|
#define long_double_symbol(lib, local, symbol) \
|
|
long_double_symbol_1 (lib, local, symbol, LONG_DOUBLE_COMPAT_VERSION)
|
|
#ifdef SHARED
|
|
# define ldbl_hidden_def(local, name) libc_hidden_ver (local, name)
|
|
# define ldbl_strong_alias(name, aliasname) \
|
|
strong_alias (name, __GL_##name##_##aliasname) \
|
|
long_double_symbol (libc, __GL_##name##_##aliasname, aliasname);
|
|
# define ldbl_weak_alias(name, aliasname) \
|
|
weak_alias (name, __GL_##name##_##aliasname) \
|
|
long_double_symbol (libc, __GL_##name##_##aliasname, aliasname);
|
|
# define long_double_symbol_1(lib, local, symbol, version) \
|
|
versioned_symbol (lib, local, symbol, version)
|
|
#else
|
|
# define ldbl_hidden_def(local, name) libc_hidden_def (name)
|
|
# define ldbl_strong_alias(name, aliasname) strong_alias (name, aliasname)
|
|
# define ldbl_weak_alias(name, aliasname) weak_alias (name, aliasname)
|
|
# ifndef __ASSEMBLER__
|
|
/* Note that weak_alias cannot be used - it is defined to nothing
|
|
in most of the C files. */
|
|
# define long_double_symbol_1(lib, local, symbol, version) \
|
|
_weak_alias (local, symbol)
|
|
# else
|
|
# define long_double_symbol_1(lib, local, symbol, version) \
|
|
weak_alias (local, symbol)
|
|
# endif
|
|
#endif
|
|
|
|
#ifndef __ASSEMBLER__
|
|
/* Set temporarily to non-zero if long double should be considered
|
|
the same as double. */
|
|
extern __thread int __no_long_double attribute_tls_model_ie attribute_hidden;
|
|
# define __ldbl_is_dbl __builtin_expect (__no_long_double, 0)
|
|
#endif
|