[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: new module 'isnan-nolibm'
From: |
Bruno Haible |
Subject: |
Re: new module 'isnan-nolibm' |
Date: |
Sun, 25 Feb 2007 19:35:24 +0100 |
User-agent: |
KMail/1.5.4 |
Paul Eggert wrote:
> > Solaris 10: isnan() is a function, defined in libc
>
> Not that this affects the conclusion, but the Solaris isnan is present
> only for legacy apps. On Solaris 10 isnan is a macro that expands to
> __builtin_isnan, and __builtin_isnan is done inline.
Huh? On a Solaris 10 / SPARC system I have this in /usr/include:
$ grep isnan *.h
ieeefp.h:extern int isnanf(float);
ieeefp.h:extern int isnand(double);
ieeefp.h:extern int isnand();
ieeefp.h:#define isnanf(x) (((*(long *)&(x) & 0x7f800000L) ==
0x7f800000L) && \
math.h:extern int isnan __P((double));
math.h:#pragma does_not_read_global_data(isnan)
math.h:#pragma does_not_write_global_data(isnan)
math.h:#pragma no_side_effect(isnan)
math.h:extern int isnanf __P((float));
math.h:extern int isnanl __P((long double));
math.h:#pragma does_not_read_global_data(isnanf, isnanl)
math.h:#pragma does_not_write_global_data(isnanf, isnanl)
math.h:#pragma no_side_effect(isnanf, isnanl)
No trace of __builtin_isnan. Where does your isnan macro come from? From
the GCC fixincludes?
Bruno
Re: new module 'isnan-nolibm', Eric Blake, 2007/02/24
Re: new module 'isnan-nolibm', Daniel Jacobowitz, 2007/02/24