[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?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]