This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH v3 1/3] Remove unneeded declarations from math_private.h
- From: "Gabriel F. T. Gomes" <gftg at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Date: Thu, 30 Mar 2017 09:02:58 -0300
- Subject: [PATCH v3 1/3] Remove unneeded declarations from math_private.h
- Authentication-results: sourceware.org; auth=none
- References: <alpine.DEB.2.20.1703291423260.17434@digraph.polyomino.org.uk>
Changes since v2:
- Do not remove the declaration of __copysignl.
-- 8< --
The declarations of many functions in math_private.h are not required
since __MATHDECL and __MATHDECLX, in math.h, already provide the
declarations for these functions. This patch removes the declarations
from math_private.h. It also adds the inclusion of math.h to the files
which depended on the declaration of functions in math_private.h.
Tested for powerpc64le and s390x.
2017-03-17 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
* sysdeps/generic/math_private.h: Remove declarations of
many functions that are already declared in math.h.
* sysdeps/ieee754/ldbl-128/e_logl.c: Include math.h to get the
declaration for __frexpl.
* sysdeps/ieee754/ldbl-128ibm/e_logl.c: Include math.h to get
the declarations for __scalbnl and fabsl.
---
sysdeps/generic/math_private.h | 20 --------------------
sysdeps/ieee754/ldbl-128/e_logl.c | 1 +
sysdeps/ieee754/ldbl-128ibm/e_logl.c | 1 +
3 files changed, 2 insertions(+), 20 deletions(-)
diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h
index be65b94..ff5d005 100644
--- a/sysdeps/generic/math_private.h
+++ b/sysdeps/generic/math_private.h
@@ -319,26 +319,6 @@ extern void __kernel_sincosl (long double,long double,
long double *,long double *, int);
#ifndef NO_LONG_DOUBLE
-/* prototypes required to compile the ldbl-96 support without warnings */
-extern int __finitel (long double);
-extern int __ilogbl (long double);
-extern int __isinfl (long double);
-extern int __isnanl (long double);
-extern long double __atanl (long double);
-extern long double __copysignl (long double, long double);
-extern long double __expm1l (long double);
-extern long double __floorl (long double);
-extern long double __frexpl (long double, int *);
-extern long double __ldexpl (long double, int);
-extern long double __log1pl (long double);
-extern long double __nanl (const char *);
-extern long double __rintl (long double);
-extern long double __scalbnl (long double, int);
-extern long double __sqrtl (long double x);
-extern long double fabsl (long double x);
-extern void __sincosl (long double, long double *, long double *);
-extern long double __logbl (long double x);
-extern long double __significandl (long double x);
extern inline long double __copysignl (long double x, long double y)
{ return __builtin_copysignl (x, y); }
diff --git a/sysdeps/ieee754/ldbl-128/e_logl.c b/sysdeps/ieee754/ldbl-128/e_logl.c
index 78061a9..8672047 100644
--- a/sysdeps/ieee754/ldbl-128/e_logl.c
+++ b/sysdeps/ieee754/ldbl-128/e_logl.c
@@ -58,6 +58,7 @@
License along with this library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <math.h>
#include <math_private.h>
/* log(1+x) = x - .5 x^2 + x^3 l(x)
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_logl.c b/sysdeps/ieee754/ldbl-128ibm/e_logl.c
index 14acfc2..c44feca 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_logl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_logl.c
@@ -58,6 +58,7 @@
License along with this library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <math.h>
#include <math_private.h>
/* log(1+x) = x - .5 x^2 + x^3 l(x)
--
2.4.11