"Dave Korn" <[EMAIL PROTECTED]> writes: > So, am I correct to believe that we need to use plain 'inline' for c99 > after gcc 4.4, and 'extern inline' before that? That is, I think I need to > write a test that looks like... > > > #if ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4))) \ > && defined (__STRICT_ANSI__) && (__STRICT_ANSI__ != 0) \ > && defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) > #define ELIDABLE_INLINE inline > #else > #define ELIDABLE_INLINE extern inline > #endif
It's simpler than that. I defined new preprocessor macros specifically to avoid this complexity. Here is one approach that should work; #ifdef __GNUC_STDC_INLINE__ #define ELIDABLE_INLINE inline #else #define ELIDABLE_INLINE extern inline #endif Ian