Howland Craig D (Craig)
Tue Feb 2 04:36:00 GMT 2010
Newlib had a mistake related to how this was done that was corrected
in 1.18--which is why the behavior has changed from 1.17.
If isnanf() really is wanted, the suggested addition of including
<ieeefp.h> is correct. However, the better correction is to not use
isnanf()--obviating the need to add ieeefp.h--but rather to use the
C99/POSIX isnan() function-like macro, which takes any floating point
type (float or double or long double (ldbl not in Newlib--yet)). This
should be the most portable method.
From: email@example.com [mailto:firstname.lastname@example.org] On Behalf Of Søren Holm
Sent: Sunday, January 31, 2010 7:27 PM
Subject: Re: math.h
Mandag 01 februar 2010 01:08:17 skrev Yaakov (Cygwin/X):
> Careful; <ieeefp.h> disables the isnan and isinf macros (which are
> required by POSIX) and declares them as functions instead. So <math.h>
> cannot #include <ieeefp.h> in this way. If you really need these
> functions, I think you'll need to #include <ieeefp.h> in your code
ok. The wierd thing is that the software I'm developing compile nice agains
newlib 1.1.7 but it fails with missing isnanf against newlib 1.18.
More information about the Newlib