diff options
Diffstat (limited to 'X11/Xfuncproto.h.in')
-rw-r--r-- | X11/Xfuncproto.h.in | 39 |
1 files changed, 30 insertions, 9 deletions
diff --git a/X11/Xfuncproto.h.in b/X11/Xfuncproto.h.in index 017711912..97e925bbc 100644 --- a/X11/Xfuncproto.h.in +++ b/X11/Xfuncproto.h.in @@ -77,10 +77,8 @@ in this Software without prior written authorization from The Open Group. #if defined(__GNUC__) && (__GNUC__ >= 4) # define _X_SENTINEL(x) __attribute__ ((__sentinel__(x))) -# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y))) #else # define _X_SENTINEL(x) -# define _X_ATTRIBUTE_PRINTF(x,y) #endif /* GNUC >= 4 */ #if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__CYGWIN__) @@ -100,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) @@ -124,4 +116,33 @@ in this Software without prior written authorization from The Open Group. # define _X_NORETURN #endif /* GNUC */ +#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 203) +# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y))) +#else /* not gcc >= 2.3 */ +# 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 */ || \ + (defined(__STDC__) && (__STDC_VERSION__ - 0 >= 199901L)) /* C99 */ +# define _X_RESTRICT_KYWD restrict +# elif defined(__GNUC__) && !defined(__STRICT_ANSI__) /* gcc w/C89+extensions */ +# define _X_RESTRICT_KYWD __restrict__ +# else +# define _X_RESTRICT_KYWD +# endif +#endif + #endif /* _XFUNCPROTO_H_ */ |