CURRENT: CLANG 3.3 and -stad=c++11 and -stdlib=libc++: isnan()/isninf() oddity

Garrett Wollman wollman at
Wed Jul 10 20:25:31 UTC 2013

<<On Wed, 10 Jul 2013 22:12:59 +0200, Tijl Coosemans <tijl at> said:

> I think isnan(double) and isinf(double) in math.h should only be
> visible if (_BSD_VISIBLE || _XSI_VISIBLE) && __ISO_C_VISIBLE < 1999.
> For C99 and higher there should only be the isnan/isinf macros.

I believe you are correct.  POSIX.1-2008 (which is aligned with C99)
consistently calls isnan() a "macro", and gives a pseudo-prototype of

	int isnan(real-floating x);


More information about the freebsd-standards mailing list