Fix extern inline use for gcc > 4.3 in c99 mode
authorWerner Koch <wk@gnupg.org>
Tue, 6 Nov 2012 16:14:04 +0000 (17:14 +0100)
committerWerner Koch <wk@gnupg.org>
Tue, 6 Nov 2012 16:14:04 +0000 (17:14 +0100)
* mpi/mpi-inline.h [!G10_MPI_INLINE_DECL]: Take care of changed extern
inline semantics in gcc.
--

I am not use how this will work out with non-gcc. However, we had no
problems in the past and thus this change is the least invasive for
non-gcc compilers.

mpi/mpi-inline.h

index c32adae..6e44518 100644 (file)
 #ifndef G10_MPI_INLINE_H
 #define G10_MPI_INLINE_H
 
+/* Starting with gcc 4.3 "extern inline" conforms in c99 mode to the
+   c99 semantics.  To keep the useful old semantics we use an
+   attribute.  */
 #ifndef G10_MPI_INLINE_DECL
-#define G10_MPI_INLINE_DECL  extern __inline__
+# ifdef __GNUC_STDC_INLINE__
+#  define G10_MPI_INLINE_DECL  extern inline __attribute__ ((__gnu_inline__))
+# else
+#  define G10_MPI_INLINE_DECL  extern __inline__
+# endif
 #endif
 
 G10_MPI_INLINE_DECL  mpi_limb_t