> I'm trying to compile LDC (D compiler for LLVM), I fixed most errors, but > this one puzzles me: > > /home/petr/sources/ldc/dmd2/root/port.c: In static member function 'static > int Port::isNan(double)': > /home/petr/sources/ldc/dmd2/root/port.c:382: error: '::isnan' has not been > declared > /home/petr/sources/ldc/dmd2/root/port.c: In static member function 'static > int Port::isNan(long double)': > /home/petr/sources/ldc/dmd2/root/port.c:393: error: '::isnan' has not been > declared > /home/petr/sources/ldc/dmd2/root/port.c: In static member function 'static > int Port::isInfinity(double)': > /home/petr/sources/ldc/dmd2/root/port.c:427: error: '::isinf' has not been > declared
Interestingly, if I change the code to call __isnand and __isnanl and __isinfd it works fine. Why wouldn't calling the macros work?