Skip to content

Commit

Permalink
Don't redirect ldexp to scalbn in bits/math-finite.h (bug 19209).
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
Joseph Myers committed Nov 5, 2015
1 parent 3bfee8b commit 8fed865
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 10 deletions.
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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].
Expand Down
2 changes: 1 addition & 1 deletion NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 0 additions & 9 deletions math/bits/math-finite.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 8fed865

Please sign in to comment.