Fix extern inline use for gcc > 4.3 in c99 mode
authorWerner Koch <wk@gnupg.org>
Thu, 8 Nov 2012 14:38:44 +0000 (15:38 +0100)
committerWerner Koch <wk@gnupg.org>
Thu, 8 Nov 2012 14:38:44 +0000 (15:38 +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.

GnuPG-bug-id: 1406, 1435

mpi/mpi-inline.h

index 88d9f56..94e2aec 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