Fix namespace conformance issue with Bessel functions.
Commit Message
Joseph, does this look right?
[BZ #17747]
The y0/y1/yn and j0/j1/jn functions provided a strong_alias
to the "l"-suffixed variants when no long double support was
being compiled. This breaks namespace conformance when the
basename versions conform but the l-suffixed ones don't.
Fixed by making them weak aliases instead.
2014-12-22 Chris Metcalf <cmetcalf@ezchip.com>
[BZ #17747]
* math/w_j0.c [defined NO_LONG_DOUBLE] (j0, y0): Convert strong
alias to weak alias for j0l, y0l.
* math/w_j1.c [defined NO_LONG_DOUBLE] (j1, y1): Likewise.
* math/w_jn.c [defined NO_LONG_DOUBLE] (jn, yn): Likewise.
---
ChangeLog | 6 ++++++
math/w_j0.c | 4 ++--
math/w_j1.c | 4 ++--
math/w_jn.c | 4 ++--
4 files changed, 12 insertions(+), 6 deletions(-)
@@ -33,7 +33,7 @@ j0 (double x)
return __ieee754_j0 (x);
}
#ifdef NO_LONG_DOUBLE
-strong_alias (j0, j0l)
+weak_alias (j0, j0l)
#endif
@@ -64,5 +64,5 @@ y0 (double x)
return __ieee754_y0 (x);
}
#ifdef NO_LONG_DOUBLE
-strong_alias (y0, y0l)
+weak_alias (y0, y0l)
#endif
@@ -33,7 +33,7 @@ j1 (double x)
return __ieee754_j1 (x);
}
#ifdef NO_LONG_DOUBLE
-strong_alias (j1, j1l)
+weak_alias (j1, j1l)
#endif
@@ -64,5 +64,5 @@ y1 (double x)
return __ieee754_y1 (x);
}
#ifdef NO_LONG_DOUBLE
-strong_alias (y1, y1l)
+weak_alias (y1, y1l)
#endif
@@ -33,7 +33,7 @@ jn (int n, double x)
return __ieee754_jn (n, x);
}
#ifdef NO_LONG_DOUBLE
-strong_alias (jn, jnl)
+weak_alias (jn, jnl)
#endif
@@ -64,5 +64,5 @@ yn (int n, double x)
return __ieee754_yn (n, x);
}
#ifdef NO_LONG_DOUBLE
-strong_alias (yn, ynl)
+weak_alias (yn, ynl)
#endif