libm compiler warnings
Jes Sorensen
jes@linuxcare.com
Tue Sep 26 06:22:00 GMT 2000
Hi
When compiling libm under Linux/ia64 I get a bunch of warnings about
implicit declarations of a bunch of math functions and a single warning
about missing parantheses in ldbl-96/e_atan2l.c.
It wasn't quite obvious if the prototypes for the missing functions
should go in math.h or math_private.h so I stuck them in math_private.h
but feel free to move them if I am wrong.
Jes
2000-09-26 Jes Sorensen <jes@linuxcare.com>
* sysdeps/ieee754/ldbl-96/e_atan2l.c (__ieee754_atan2l): Add
parentheses around arithmetic used in | statement to kill compiler
warning.
* math/math_private.h: Add prototype for __finitel.
__ilogbl: ditto.
__isinfl: ditto.
__isnanl: ditto.
__atanl: ditto.
__copysignl: ditto.
__expm1l: ditto.
__floorl: ditto.
__frexpl: ditto.
__ldexpl: ditto.
__log1pl: ditto.
__nanl: ditto.
__rintl: ditto.
__scalbnl: ditto.
__sqrtl: ditto.
fabsl: ditto.
__sincosl: ditto.
diff -urN --exclude=*.mo --exclude=manual --exclude=CVS --exclude=*~ --exclude=*.rej /home/jes/cygnus/libc-2.2/math/math_private.h libc-2.2/math/math_private.h
--- /home/jes/cygnus/libc-2.2/math/math_private.h Sat Oct 9 23:21:01 1999
+++ libc-2.2/math/math_private.h Tue Sep 26 14:48:34 2000
@@ -267,4 +267,23 @@
extern int __kernel_rem_pio2l (long double*,long double*,int,int,
int,const int*);
+/* 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 *);
+
#endif /* _MATH_PRIVATE_H_ */
diff -urN --exclude=*.mo --exclude=manual --exclude=CVS --exclude=*~ --exclude=*.rej /home/jes/cygnus/libc-2.2/sysdeps/ieee754/ldbl-96/e_atan2l.c libc-2.2/sysdeps/ieee754/ldbl-96/e_atan2l.c
--- /home/jes/cygnus/libc-2.2/sysdeps/ieee754/ldbl-96/e_atan2l.c Wed Jul 14 02:11:20 1999
+++ libc-2.2/sysdeps/ieee754/ldbl-96/e_atan2l.c Tue Sep 26 14:33:24 2000
@@ -80,7 +80,7 @@
if(((2*ix|((lx|-lx)>>31))>0xfffe)||
((2*iy|((ly|-ly)>>31))>0xfffe)) /* x or y is NaN */
return x+y;
- if((sx-0x3fff|lx)==0) return __atanl(y); /* x=1.0 */
+ if(((sx-0x3fff)|lx)==0) return __atanl(y); /* x=1.0 */
m = ((sy>>15)&1)|((sx>>14)&2); /* 2*sign(x)+sign(y) */
/* when y = 0 */
More information about the Libc-hacker
mailing list