bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: extern inline problem with argp when building tar 1.19 with GCC 4.2.


From: Bruno Haible
Subject: Re: extern inline problem with argp when building tar 1.19 with GCC 4.2.1
Date: Sat, 13 Oct 2007 15:53:25 +0200
User-agent: KMail/1.5.4

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  <address@hidden>

        * 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__





reply via email to

[Prev in Thread] Current Thread [Next in Thread]