This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Don't declare float / long double Bessel functions for XSI POSIX (bug 18977) [committed]
- From: Joseph Myers <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Wed, 16 Sep 2015 22:05:42 +0000
- Subject: Don't declare float / long double Bessel functions for XSI POSIX (bug 18977) [committed]
- Authentication-results: sourceware.org; auth=none
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). Committed.
2015-09-16 Joseph Myers <joseph@codesourcery.com>
[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.
diff --git a/conform/data/math.h-data b/conform/data/math.h-data
index 0a05b8d..7153333 100644
--- a/conform/data/math.h-data
+++ b/conform/data/math.h-data
@@ -192,18 +192,8 @@ function float tanhf (float)
function float erff (float)
function float erfcf (float)
function float hypotf (float, float)
-#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-function float j0f (float)
-function float j1f (float)
-function float jnf (int, float)
-#endif
function float lgammaf (float)
function float tgammaf (float)
-#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-function float y0f (float)
-function float y1f (float)
-function float ynf (int, float)
-#endif
function float acoshf (float)
function float asinhf (float)
function float atanhf (float)
@@ -260,18 +250,8 @@ 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)
-#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-function {long double} j0l (long double)
-function {long double} j1l (long double)
-function {long double} jnl (int, long double)
-#endif
function {long double} lgammal (long double)
function {long double} tgammal (long double)
-#if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-function {long double} y0l (long double)
-function {long double} y1l (long double)
-function {long double} ynl (int, long double)
-#endif
function {long double} acoshl (long double)
function {long double} asinhl (long double)
function {long double} atanhl (long double)
diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h
index 7ffe040..0b3fc86 100644
--- a/math/bits/mathcalls.h
+++ b/math/bits/mathcalls.h
@@ -234,7 +234,7 @@ __MATHDECL_1 (int,__isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
#endif
-#if defined __USE_MISC || defined __USE_XOPEN
+#if defined __USE_MISC || (defined __USE_XOPEN && __MATH_DECLARING_DOUBLE)
/* Bessel functions. */
__MATHCALL (j0,, (_Mdouble_));
__MATHCALL (j1,, (_Mdouble_));
--
Joseph S. Myers
joseph@codesourcery.com