about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-11-05 17:00:31 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-11-05 17:00:31 +0000
commit8fed86556b7e162d2926f0ba6a573ed193ff882f (patch)
tree06c023d80a3efcc412eceea1cfde2823062ef183
parent3bfee8beb8caa939020d942dfa405a3d98975749 (diff)
downloadglibc-8fed86556b7e162d2926f0ba6a573ed193ff882f.tar.gz
glibc-8fed86556b7e162d2926f0ba6a573ed193ff882f.tar.xz
glibc-8fed86556b7e162d2926f0ba6a573ed193ff882f.zip
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.
-rw-r--r--ChangeLog5
-rw-r--r--NEWS2
-rw-r--r--math/bits/math-finite.h9
3 files changed, 6 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 90a4bb131d..bc2bc6935e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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].
diff --git a/NEWS b/NEWS
index 2867ac0dd1..63ff0afbc1 100644
--- a/NEWS
+++ b/NEWS
@@ -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
diff --git a/math/bits/math-finite.h b/math/bits/math-finite.h
index e5f11b2059..5dd8406588 100644
--- a/math/bits/math-finite.h
+++ b/math/bits/math-finite.h
@@ -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