Addendum to last patch: When __GNUC_STDC_INLINE__ is defined, we know that the compiler supports both the ISO C99 and the old GNU C semantics for 'inline'. In ten years, people will wonder "what was this old GNU C semantics". So it's better to use the ISO C99 semantics for the long-term use.
2007-10-13 Bruno Haible <[EMAIL PROTECTED]> * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the ISO C99 inline semantics. * lib/argp.h (ARGP_EI): Likewise. *** lib/argp-fmtstream.h.orig 2007-10-13 15:48:09.000000000 +0200 --- lib/argp-fmtstream.h 2007-10-13 15:45:01.000000000 +0200 *************** *** 211,217 **** warning: C99 inline functions are not supported; using GNU89 warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. */ ! # if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ # define ARGP_FS_EI extern inline __attribute__ ((__gnu_inline__)) # else # define ARGP_FS_EI extern inline --- 211,219 ---- warning: C99 inline functions are not supported; using GNU89 warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. */ ! # if defined __GNUC_STDC_INLINE__ ! # define ARGP_FS_EI inline ! # elif defined __GNUC_GNU_INLINE__ # define ARGP_FS_EI extern inline __attribute__ ((__gnu_inline__)) # else # define ARGP_FS_EI extern inline *** lib/argp.h.orig 2007-10-13 15:48:09.000000000 +0200 --- lib/argp.h 2007-10-13 15:45:35.000000000 +0200 *************** *** 593,599 **** warning: C99 inline functions are not supported; using GNU89 warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. */ ! # if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ # define ARGP_EI extern __inline__ __attribute__ ((__gnu_inline__)) # else # define ARGP_EI extern __inline__ --- 593,601 ---- warning: C99 inline functions are not supported; using GNU89 warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute It defines a macro __GNUC_GNU_INLINE__ to indicate this situation. */ ! # if defined __GNUC_STDC_INLINE__ ! # define ARGP_EI __inline__ ! # elif defined __GNUC_GNU_INLINE__ # define ARGP_EI extern __inline__ __attribute__ ((__gnu_inline__)) # else # define ARGP_EI extern __inline__