What is peculiar about our math.h implementation?

elekktretterr at exemail.com.au elekktretterr at exemail.com.au
Mon Nov 29 05:08:05 PST 2010


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







More information about the Users mailing list