summaryrefslogtreecommitdiff
path: root/libguile/inline.h
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2008-04-10 23:57:05 +0200
committerLudovic Courtès <ludo@gnu.org>2008-04-10 23:57:24 +0200
commit7dc9ae7179b8b099897f8080b675e2a9c54d388c (patch)
tree3c169afa9e70e7c4cecc83ee04d6f6cd887c3621 /libguile/inline.h
parentf1c212b15665a93f6b1411bf16d066dc9b45a36f (diff)
downloadguile-7dc9ae7179b8b099897f8080b675e2a9c54d388c.tar.gz
Fix inline machinery in C99 mode on MacOS X.
Diffstat (limited to 'libguile/inline.h')
-rw-r--r--libguile/inline.h8
1 files changed, 6 insertions, 2 deletions
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__))