From 7dc9ae7179b8b099897f8080b675e2a9c54d388c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 10 Apr 2008 23:57:05 +0200 Subject: [PATCH] Fix inline machinery in C99 mode on MacOS X. --- libguile/ChangeLog | 7 +++++++ libguile/inline.h | 8 ++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 0d91c6b56..2b471c45a 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,10 @@ +2008-04-10 Ludovic Courtès + + * inline.h (SCM_C_EXTERN_INLINE): Special-case Apple's GCC + 4.0-based compiler, which doesn't support GNU inline semantics + at all in C99 mode but doesn't define `__GNUC_STDC_INLINE__'. + See http://thread.gmane.org/gmane.network.gnutls.general/1135 . + 2008-04-10 Andy Wingo * struct.c (scm_struct_ref, scm_struct_set_x): "Light" structs diff --git a/libguile/inline.h b/libguile/inline.h index 2b5b2a4dc..34bb84345 100644 --- a/libguile/inline.h +++ b/libguile/inline.h @@ -48,9 +48,13 @@ With GCC 4.2, `__GNUC_STDC_INLINE__' is never defined (because C99 inline semantics are not supported), but a warning is issued in C99 mode if - `__gnu_inline__' is not used. */ + `__gnu_inline__' is not used. -# ifdef __GNUC__ + Apple's GCC build >5400 (since Xcode 3.0) doesn't support GNU inline in + C99 mode and doesn't define `__GNUC_STDC_INLINE__'. Fall back to "static + inline" in that case. */ + +# if (defined __GNUC__) && (!(__APPLE_CC__ > 5400 && __STDC_VERSION__ >= 199901L)) # if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) # define SCM_C_EXTERN_INLINE \ extern __inline__ __attribute__ ((__gnu_inline__))