mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Fix inline machinery in C99 mode on MacOS X.
This commit is contained in:
parent
f1c212b156
commit
7dc9ae7179
2 changed files with 13 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2008-04-10 Ludovic Courtès <ludo@gnu.org>
|
||||||
|
|
||||||
|
* 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 <wingo@pobox.com>
|
2008-04-10 Andy Wingo <wingo@pobox.com>
|
||||||
|
|
||||||
* struct.c (scm_struct_ref, scm_struct_set_x): "Light" structs
|
* struct.c (scm_struct_ref, scm_struct_set_x): "Light" structs
|
||||||
|
|
|
@ -48,9 +48,13 @@
|
||||||
|
|
||||||
With GCC 4.2, `__GNUC_STDC_INLINE__' is never defined (because C99 inline
|
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
|
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)
|
# if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2)
|
||||||
# define SCM_C_EXTERN_INLINE \
|
# define SCM_C_EXTERN_INLINE \
|
||||||
extern __inline__ __attribute__ ((__gnu_inline__))
|
extern __inline__ __attribute__ ((__gnu_inline__))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue