Don't redirect ldexp to scalbn in bits/math-finite.h (bug 19209).

bits/math-finite.h maps ldexp functions to corresponding scalbn
functions.  This is (a) a namespace bug for C90, which has ldexp but
not scalbn, and (b) in any case useless, since the ldexp and scalbn
functions have identical semantics (for floating-point types with
radix 2), and since the fix for bug 6803 are actually aliases
(presumably the mapping was based around the old bug of scalbn not
setting errno).  This patch removes the bogus redirections.

Tested for x86_64 and x86.

	[BZ #19209]
	* math/bits/math-finite.h (ldexp): Remove declaration.
	(ldexpf): Likewise.
	(ldexpl): Likewise.
This commit is contained in:
Joseph Myers 2015-11-05 17:00:31 +00:00
parent 3bfee8beb8
commit 8fed86556b
3 changed files with 6 additions and 10 deletions

View File

@ -1,5 +1,10 @@
2015-11-05 Joseph Myers <joseph@codesourcery.com>
[BZ #19209]
* math/bits/math-finite.h (ldexp): Remove declaration.
(ldexpf): Likewise.
(ldexpl): Likewise.
[BZ #19205]
* math/bits/math-finite.h (acosf): Condition declaration on
[__USE_ISOC99].

2
NEWS
View File

@ -22,7 +22,7 @@ Version 2.23
19003, 19007, 19012, 19016, 19018, 19032, 19046, 19048, 19049, 19050,
19059, 19071, 19074, 19076, 19077, 19078, 19079, 19085, 19086, 19088,
19094, 19095, 19124, 19125, 19129, 19134, 19137, 19156, 19174, 19181,
19189, 19201, 19205.
19189, 19201, 19205, 19209.
* A defect in the malloc implementation, present since glibc 2.15 (2012) or
glibc 2.10 via --enable-experimental-malloc (2009), could result in the

View File

@ -413,15 +413,6 @@ extern long double __REDIRECT_NTH (log2l, (long double), __log2l_finite);
# endif
#endif
/* ldexp. */
extern double __REDIRECT_NTH (ldexp, (double, int), scalbn);
#ifdef __USE_ISOC99
extern float __REDIRECT_NTH (ldexpf, (float, int), scalbnf);
# ifdef __MATH_DECLARE_LDOUBLE
extern long double __REDIRECT_NTH (ldexpl, (long double, int), scalbnl);
# endif
#endif
/* pow. */
extern double __REDIRECT_NTH (pow, (double, double), __pow_finite);
#ifdef __USE_ISOC99