This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

libm compiler warnings


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 */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]