glibc/conform/data/math.h-data
Joseph Myers 1f11365a75 Don't declare float / long double Bessel functions for XSI POSIX (bug 18977).
The float and long double versions of Bessel function (j0f, y1l, etc.)
are not in POSIX; only the double versions are.  This patch
accordingly limits the declarations of those functions to __USE_MISC,
and fixes the conform/ test expectations which matched the previous
incorrect declarations.

Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by this patch).

	[BZ #18977]
	* math/bits/mathcalls.h
	[!__USE_MISC && __USE_XOPEN && !__MATH_DECLARING_DOUBLE] (j0): Do
	not declare.
	[!__USE_MISC && __USE_XOPEN && !__MATH_DECLARING_DOUBLE] (j1):
	Likewise.
	[!__USE_MISC && __USE_XOPEN && !__MATH_DECLARING_DOUBLE] (jn):
	Likewise.
	[!__USE_MISC && __USE_XOPEN && !__MATH_DECLARING_DOUBLE] (y0):
	Likewise.
	[!__USE_MISC && __USE_XOPEN && !__MATH_DECLARING_DOUBLE] (y1):
	Likewise.
	[!__USE_MISC && __USE_XOPEN && !__MATH_DECLARING_DOUBLE] (yn):
	Likewise.
	* conform/data/math.h-data
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (j0f): Do not expect
	function.
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (j1f): Likewise.
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (jnf): Likewise.
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (y0f): Likewise.
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (y1f): Likewise.
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (ynf): Likewise.
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (j0l): Likewise.
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (j1l): Likewise.
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (jnl): Likewise.
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (y0l): Likewise.
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (y1l): Likewise.
	[!ISO99 && !ISO11 && !POSIX && !POSIX2008] (ynl): Likewise.
2015-09-16 22:04:40 +00:00

336 lines
9.8 KiB
Plaintext

macro-constant HUGE_VAL {double}
#if !defined ISO && !defined POSIX
# if !defined XPG3 && !defined XPG4 && !defined UNIX98
macro fpclassify
macro isfinite
macro isinf
macro isnan
macro isnormal
macro signbit
macro isgreater
macro isgreaterequal
macro isless
macro islessequal
macro islessgreater
macro isunordered
type float_t
type double_t
# endif
# if defined XPG3 || defined XPG4 || defined UNIX98
function int isnan (double)
# endif
# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
constant M_E
constant M_LOG2E
constant M_LOG10E
constant M_LN2
constant M_LN10
constant M_PI
constant M_PI_2
constant M_PI_4
constant M_1_PI
constant M_2_PI
constant M_2_SQRTPI
constant M_SQRT2
constant M_SQRT1_2
constant MAXFLOAT
# endif
# if !defined XPG3 && !defined XPG4 && !defined UNIX98
macro-constant HUGE_VALF {float}
macro-constant HUGE_VALL {long double}
macro-constant INFINITY {float}
macro-constant NAN {float}
macro-int-constant FP_INFINITE
macro-int-constant FP_NAN
macro-int-constant FP_NORMAL
macro-int-constant FP_SUBNORMAL
macro-int-constant FP_ZERO
optional-macro-int-constant FP_FAST_FMA {int} == 1
optional-macro-int-constant FP_FAST_FMAF {int} == 1
optional-macro-int-constant FP_FAST_FMAL {int} == 1
macro-int-constant FP_ILOGB0
macro-int-constant FP_ILOGBNAN
macro-int-constant MATH_ERRNO {int} == 1
macro-int-constant MATH_ERREXCEPT {int} == 2
macro math_errhandling {int}
# endif
#endif
function double acos (double)
function double asin (double)
function double atan (double)
function double atan2 (double, double)
function double ceil (double)
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
function double copysign (double, double)
#endif
function double cos (double)
function double cosh (double)
function double exp (double)
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
function double exp2 (double)
#endif
function double fabs (double)
function double floor (double)
function double fmod (double, double)
function double frexp (double, int*)
function double ldexp (double, int)
function double log (double)
function double log10 (double)
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
function double log2 (double)
#endif
function double modf (double, double*)
function double pow (double, double)
function double sin (double)
function double sinh (double)
function double sqrt (double)
function double tan (double)
function double tanh (double)
#if !defined ISO && !defined POSIX
function double erf (double)
function double erfc (double)
#endif
#if defined XPG3 || defined XPG4 || defined UNIX98
function double gamma (double)
#endif
#if !defined ISO && !defined POSIX
function double hypot (double, double)
# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function double j0 (double)
function double j1 (double)
function double jn (int, double)
# endif
function double lgamma (double)
# if !defined XPG3 && !defined XPG4 && !defined UNIX98
function double tgamma (double)
# endif
# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
function double y0 (double)
function double y1 (double)
function double yn (int, double)
# endif
# if !defined XPG3
function double acosh (double)
function double asinh (double)
function double atanh (double)
function double cbrt (double)
function double expm1 (double)
function int ilogb (double)
function double log1p (double)
function double logb (double)
function double nextafter (double, double)
# if !defined XPG4 && !defined UNIX98
function double nexttoward (double, long double)
function double nearbyint (double)
# endif
function double remainder (double, double)
function double rint (double)
# if !defined XPG4 && !defined UNIX98
function double round (double)
function double trunc (double)
function long lrint (double)
function {long long} llrint (double)
function long lround (double)
function {long long} llround (double)
function double remquo (double, double, int*)
# endif
# if defined XPG4 || defined UNIX98 || defined XOPEN2K
function double scalb (double, double)
# endif
# if !defined XPG4 && !defined UNIX98
function double scalbn (double, int)
function double scalbln (double, long)
function double fdim (double, double)
function double fmax (double, double)
function double fmin (double, double)
function double fma (double, double, double)
function double nan (const char*)
# endif
# endif
# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
// variable signgam
allow signgam
# endif
#endif
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
function float acosf (float)
function float asinf (float)
function float atanf (float)
function float atan2f (float, float)
function float ceilf (float)
function float copysignf (float, float)
function float cosf (float)
function float coshf (float)
function float expf (float)
function float exp2f (float)
function float fabsf (float)
function float floorf (float)
function float fmodf (float, float)
function float frexpf (float, int*)
function float ldexpf (float, int)
function float logf (float)
function float log10f (float)
function float log2f (float)
function float modff (float, float*)
function float powf (float, float)
function float sinf (float)
function float sinhf (float)
function float sqrtf (float)
function float tanf (float)
function float tanhf (float)
function float erff (float)
function float erfcf (float)
function float hypotf (float, float)
function float lgammaf (float)
function float tgammaf (float)
function float acoshf (float)
function float asinhf (float)
function float atanhf (float)
function float cbrtf (float)
function float expm1f (float)
function int ilogbf (float)
function float log1pf (float)
function float logbf (float)
function float nextafterf (float, float)
function float nexttowardf (float, long double)
function float nearbyintf (float)
function float remainderf (float, float)
function float rintf (float)
function float roundf (float)
function float truncf (float)
function long lrintf (float)
function {long long} llrintf (float)
function long lroundf (float)
function {long long} llroundf (float)
function float remquof (float, float, int*)
function float scalbnf (float, int)
function float scalblnf (float, long)
function float fdimf (float, float)
function float fmaxf (float, float)
function float fminf (float, float)
function float fmaf (float, float, float)
function float nanf (const char*)
function {long double} acosl (long double)
function {long double} asinl (long double)
function {long double} atanl (long double)
function {long double} atan2l (long double, long double)
function {long double} ceill (long double)
function {long double} copysignl (long double, long double)
function {long double} cosl (long double)
function {long double} coshl (long double)
function {long double} expl (long double)
function {long double} exp2l (long double)
function {long double} fabsl (long double)
function {long double} floorl (long double)
function {long double} fmodl (long double, long double)
function {long double} frexpl (long double, int*)
function {long double} ldexpl (long double, int)
function {long double} logl (long double)
function {long double} log10l (long double)
function {long double} log2l (long double)
function {long double} modfl (long double, long double*)
function {long double} powl (long double, long double)
function {long double} sinl (long double)
function {long double} sinhl (long double)
function {long double} sqrtl (long double)
function {long double} tanl (long double)
function {long double} tanhl (long double)
function {long double} erfl (long double)
function {long double} erfcl (long double)
function {long double} hypotl (long double, long double)
function {long double} lgammal (long double)
function {long double} tgammal (long double)
function {long double} acoshl (long double)
function {long double} asinhl (long double)
function {long double} atanhl (long double)
function {long double} cbrtl (long double)
function {long double} expm1l (long double)
function int ilogbl (long double)
function {long double} log1pl (long double)
function {long double} logbl (long double)
function {long double} nextafterl (long double, long double)
function {long double} nexttowardl (long double, long double)
function {long double} nearbyintl (long double)
function {long double} remainderl (long double, long double)
function {long double} rintl (long double)
function {long double} roundl (long double)
function {long double} truncl (long double)
function long lrintl (long double)
function {long long} llrintl (long double)
function long lroundl (long double)
function {long long} llroundl (long double)
function {long double} remquol (long double, long double, int*)
function {long double} scalbnl (long double, int)
function {long double} scalblnl (long double, long)
function {long double} fdiml (long double, long double)
function {long double} fmaxl (long double, long double)
function {long double} fminl (long double, long double)
function {long double} fmal (long double, long double, long double)
function {long double} nanl (const char*)
#else
allow acosf
allow asinf
allow atanf
allow atan2f
allow ceilf
allow cosf
allow coshf
allow expf
allow fabsf
allow floorf
allow fmodf
allow frexpf
allow ldexpf
allow logf
allow log10f
allow modff
allow powf
allow sinf
allow sinhf
allow sqrtf
allow tanf
allow tanhf
allow acosl
allow asinl
allow atanl
allow atan2l
allow ceill
allow cosl
allow coshl
allow expl
allow fabsl
allow floorl
allow fmodl
allow frexpl
allow ldexpl
allow logl
allow log10l
allow modfl
allow powl
allow sinl
allow sinhl
allow sqrtl
allow tanl
allow tanhl
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11
allow *_t
#endif
#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
allow FP_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
#endif