diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2011-02-24 20:13:20 -0800 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2011-02-24 20:13:20 -0800 |
commit | f0c5b701a5f8fe6be24229dea35c35b50afe8646 (patch) | |
tree | a6eec521fe2b9f18e82f3a2d2d9ab142d226000f /Xfuncproto.h.in | |
parent | 6eed63f7455d718bf6238ca2f24515329b2a3895 (diff) |
Support _X_INLINE in any C99-compliant compiler
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Diffstat (limited to 'Xfuncproto.h.in')
-rw-r--r-- | Xfuncproto.h.in | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/Xfuncproto.h.in b/Xfuncproto.h.in index fd9f29b..97e925b 100644 --- a/Xfuncproto.h.in +++ b/Xfuncproto.h.in @@ -98,15 +98,9 @@ in this Software without prior written authorization from The Open Group. #if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303) # define _X_LIKELY(x) __builtin_expect(!!(x), 1) # define _X_UNLIKELY(x) __builtin_expect(!!(x), 0) -# define _X_INLINE inline -#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) -# define _X_LIKELY(x) (x) -# define _X_UNLIKELY(x) (x) -# define _X_INLINE inline -#else /* not gcc >= 3.3 and not Sun Studio >= 8 */ +#else /* not gcc >= 3.3 */ # define _X_LIKELY(x) (x) # define _X_UNLIKELY(x) (x) -# define _X_INLINE #endif #if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301) @@ -128,6 +122,17 @@ in this Software without prior written authorization from The Open Group. # define _X_ATTRIBUTE_PRINTF(x,y) #endif +/* C99 keyword "inline" or equivalent extensions in pre-C99 compilers */ +#if defined(inline) /* assume autoconf set it correctly */ || \ + (defined(__STDC__) && (__STDC_VERSION__ - 0 >= 199901L)) /* C99 */ || \ + (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)) +# define _X_INLINE inline +#elif defined(__GNUC__) && !defined(__STRICT_ANSI__) /* gcc w/C89+extensions */ +# define _X_INLINE __inline__ +#else +# define _X_INLINE +#endif + /* C99 keyword "restrict" or equivalent extensions in pre-C99 compilers */ #ifndef _X_RESTRICT_KYWD # if defined(restrict) /* assume autoconf set it correctly */ || \ |