![]() |
Blitz Support : |
From: Julian Cummings (cummings_at_[hidden])
Date: 2005-05-17 22:08:19
The problem here is that cpp is not detecting that isnan is actually a
macro function, not a normal function prototype. The blitz code uses
#ifdef isnan
to attempt to detect this situation, but it doesn't work. Is there a
cpp guru out there who knows the proper way to detect whether something
is a cpp macro function or not? I've tried a few ideas, but no luck
thus far. Any help would be appreciated.
Thanks, Julian C.
On Mon, 2005-05-16 at 22:42 -0700, Creon Levit wrote:
> checked out the latest cvs sources, ran autoreconf, configure, then make
> lib.
>
> ../blitz/mathfunc.h: In static member function `static int
> blitz::_bz_blitz_isnan<P_numtype1>::apply(P_numtype1)':
> ../blitz/mathfunc.h:1555: error: '::isnan' has not been declared
> ../blitz/funcs.h: In static member function `static int
> blitz::Fn_isnan<T_numtype1>::apply(T_numtype1)':
> ../blitz/funcs.h:587: error: '::isnan' has not been declared
> make[1]: *** [globals.lo] Error 1
> make: *** [blitz-library] Error 1
>
> Now, gcc definitely has namespaces, and so I know it wasn't the "right"
> thing to do, but I got it to build and pass all tests by changing line
> 138 of compiler.h from:
>
> #define BZ_IEEEMATHFN_SCOPE(x) ::x
>
> to:
>
> #define BZ_IEEEMATHFN_SCOPE(x) x
>
>
>
> _______________________________________________
> Blitz-support mailing list
> Blitz-support_at_[hidden]
> http://www.oonumerics.org/mailman/listinfo.cgi/blitz-support
>
-- Dr. Julian C. Cummings E-mail: cummings_at_[hidden] California Institute of Technology Phone: 626-395-2543 1200 E. California Blvd., Mail Code 158-79 Fax: 626-584-5917 Pasadena, CA 91125 Office: 125 Powell-Booth