This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How to handle c99 inline changes? [was RE: -fkeep-inline-functions and broken Cygwin bootstrap (was: Building GCC 4.3.0 on Cygwin...)]


"Dave Korn" <dave.korn@artimi.com> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]