This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


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

Re: Recent libstdc++-v3 cmath.cc doesn't compile on alphaev6-unknown-linux-gnu


On Fri, Jun 09, 2000 at 10:49:36PM +0200, Toon Moene wrote:
> Steven King wrote:
> 
> > Hmmm.  Thats curious.  The long double functions should only be visable if
> > configure finds them.  What does your libstdc++-v3/config.log show?
> 
> Well, it turns out that the libm on my system:
> 
> $ ls /lib/libm*
> /lib/libm-2.1.1.so*  /lib/libm.so.6.1@
> 
> $ nm /lib/libm.so.6.1 | grep acosl
> 0000000000019020 t __acosl
> 000000000001d000 t __cacosl
> 0000000000019020 W acosl
> 000000000001d000 W cacosl
> 
> contains acosl [et al.], but there's no header file with a prototype for
> it:
> 
> $ grep acosl `find /usr/include -name '*.h' -print`
> <nothing>

If this is glibc 2.1, the acosl prototype is (should be) created by
evil macros in math.h and bits/mathcalls.h.

$ grep acosl `find /usr/include/ -type f -print`
$ cpp /usr/include/math.h |grep acosl
extern long double acosl (long double __x);
extern long double __acosl (long double __x);

This only happens if some conditionals succeed; in particular, I bet
-ansi will suppress it.

zw

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