I tried to compile a simple C file this morning, containing
#include "nmath.h"
double fsign(double x, double y)
{
#ifdef IEEE_754
if (ISNAN(x) || ISNAN(y))
return x + y;
#endif
return ((y >= 0) ? fabs(x) : -fabs(x));
}
I assumed this would be straightforward since it doesn't have a bunch of dependencies and it's only a few lines of code. Instead, I got a stream of errors. After running the file through the preprocessor, I had to comment out anything with
__extension__
- Restricted pointers
*__restrict
_Float128
__asm__
And in the source, anything with ISNAN, or in the preprocessed file,
__builtin_isnan
I filed a bug. After this experience, it's not obvious to me that importC is ready to be part of a stable compiler release. Maybe I just had bad luck with the choice of file.