From: berk <be...@nm...> - 2001-02-17 06:52:04
|
Use The Source, Mattia! Replying to your mail dated Saturday, February 17, 2001, 2:23:59 AM, about "[Mingw-users] Checking w32api version": #if FOO_VERSION >>= 0.4 MB> gcc complains: MB> foo.c:3: Floating point numbers not allowed in #if expressions found that in mingw ansidecl.h: /* Using MACRO(x,y) in cpp #if conditionals does not work with some older preprocessors. Thus we can't define something like this: #define HAVE_GCC_VERSION(MAJOR, MINOR) \ (__GNUC__ > (MAJOR) || (__GNUC__ == (MAJOR) && __GNUC_MINOR__ >= (MINOR))) and then test "#if HAVE_GCC_VERSION(2,7)". So instead we use the macro below and test it against specific values. */ /* This macro simplifies testing whether we are using gcc, and if it is of a particular minimum version. (Both major & minor numbers are significant.) This macro will evaluate to 0 if we are not using gcc at all. */ #ifndef GCC_VERSION #define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) #endif /* GCC_VERSION */ so, obviously, you don't have to deal with float numbers but to a several orders of magnitude larger integer numbers. #ifndef FOO_VERSION #define FOO_VERSION (__FOO_MAJOR * 1000 + __FOO_MINOR) #endif keep in touch. berk. * mailto:be...@nm... * http://ber.k45.ru * ICQ UIN: 49516372 * * The Go! operating system development: http://attend.to/go * |