From: Bruno Haible Date: Fri, 11 Apr 2008 13:13:24 +0000 (+0200) Subject: Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=913936b4f544c8578e17632fc5e980e9cef599fa;p=pspp Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5. --- diff --git a/ChangeLog b/ChangeLog index eaad3d8efb..c935aeac80 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-04-11 Bruno Haible + + Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5. + * gnulib-tool (func_emit_initmacro_start): Emit an invocation of + gl_COMMON. + * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros. + 2008-04-11 Bruno Haible * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL. diff --git a/gnulib-tool b/gnulib-tool index 21a08b2490..8e6fec4412 100755 --- a/gnulib-tool +++ b/gnulib-tool @@ -2046,6 +2046,7 @@ func_emit_initmacro_start () # We let automake know about the files to be distributed through the # EXTRA_lib_SOURCES variable. echo " m4_pushdef([AC_LIBSOURCES], m4_defn([${macro_prefix_arg}_LIBSOURCES]))" + echo " gl_COMMON" } # func_emit_initmacro_end macro_prefix diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4 index 9336d72605..3edfc120f8 100644 --- a/m4/gnulib-common.m4 +++ b/m4/gnulib-common.m4 @@ -1,9 +1,28 @@ -# gnulib-common.m4 serial 3 -dnl Copyright (C) 2007 Free Software Foundation, Inc. +# gnulib-common.m4 serial 4 +dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +# gl_COMMON +# is expanded unconditionally through gnulib-tool magic. +AC_DEFUN([gl_COMMON], [ + dnl Use AC_REQUIRE here, so that the code is expanded once only. + AC_REQUIRE([gl_COMMON_BODY]) +]) +AC_DEFUN([gl_COMMON_BODY], [ + AH_VERBATIM([isoc99_inline], +[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports + the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of + earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. + __APPLE__ && __MACH__ test for MacOS X. + __APPLE_CC__ tests for the Apple compiler and its version. + __STDC_VERSION__ tests for the C99 mode. */ +#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ +# define __GNUC_STDC_INLINE__ 1 +#endif]) +]) + # gl_MODULE_INDICATOR([modulename]) # defines a C macro indicating the presence of the given module. AC_DEFUN([gl_MODULE_INDICATOR],