This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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