about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2014-10-08 10:17:19 -0400
committerRich Felker <dalias@aerifal.cx>2014-10-08 10:17:19 -0400
commit0539e6dad39c1b3b204a14c403da68b587b1b3da (patch)
treee6e47585f4e01ea5eb4087f1328501f698a5faa6
parent6f1c1fe90c5b23ddf1ee8cce0ee7d77d392301a7 (diff)
downloadmusl-0539e6dad39c1b3b204a14c403da68b587b1b3da.tar.gz
musl-0539e6dad39c1b3b204a14c403da68b587b1b3da.tar.xz
musl-0539e6dad39c1b3b204a14c403da68b587b1b3da.zip
always provide __fpclassifyl and __signbitl definitions
previously the external definitions of these functions were omitted on
archs where long double is the same as double, since the code paths in
the math.h macros which would call them are unreachable. however, even
if they are unreachable, the definitions are still mandatory. omitting
them is invalid C, and in the case of a non-optimizing compiler, will
result in a link error.
-rw-r--r--src/math/__fpclassifyl.c5
-rw-r--r--src/math/__signbitl.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/src/math/__fpclassifyl.c b/src/math/__fpclassifyl.c
index 6dc10025..c2742297 100644
--- a/src/math/__fpclassifyl.c
+++ b/src/math/__fpclassifyl.c
@@ -1,7 +1,10 @@
 #include "libm.h"
 
 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
-
+int __fpclassifyl(long double x)
+{
+	return __fpclassify(x);
+}
 #elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
 int __fpclassifyl(long double x)
 {
diff --git a/src/math/__signbitl.c b/src/math/__signbitl.c
index c52c87bb..63b3dc5a 100644
--- a/src/math/__signbitl.c
+++ b/src/math/__signbitl.c
@@ -6,4 +6,9 @@ int __signbitl(long double x)
 	union ldshape u = {x};
 	return u.i.se >> 15;
 }
+#elif LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
+int __signbitl(long double x)
+{
+	return __signbit(x);
+}
 #endif