From f0c5b701a5f8fe6be24229dea35c35b50afe8646 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Thu, 24 Feb 2011 20:13:20 -0800 Subject: Support _X_INLINE in any C99-compliant compiler Signed-off-by: Alan Coopersmith --- Xfuncproto.h.in | 19 ++++++++++++------- 1 file 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 */ || \ -- cgit v1.2.1