+2008-01-18 16:51:23 Tim Janik <timj@imendio.com>
+
+ * glib/gutils.h: don't define __GNUC_PREREQ which is not in the glib
+ namespace. for gcc, define G_INLINE_FUNC to "static inline" as with
+ all other C compilers, because newer GCC versions incompatibly
+ changed "extern inline" semantics.
+
2008-01-18 Murray Cumming <murrayc@murrayc.com>
* glib/gfileutils.c:
# endif /* va_list is a pointer */
#endif /* !G_VA_COPY */
-/* need this utility macro, but it's not always present in system headers
- * copy it from linux features.h for those who need it
- */
-#ifndef __GNUC_PREREQ
-#if defined __GNUC__ && defined __GNUC_MINOR__
-# define __GNUC_PREREQ(maj, min) \
- ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-#else
-# define __GNUC_PREREQ(maj, min) 0
-#endif
-#endif
-
/* inlining hassle. for compilers that don't allow the `inline' keyword,
* mostly because of strict ANSI C compliance or dumbness, we try to fall
* back to either `__inline__' or `__inline'.
# define G_INLINE_FUNC
# undef G_CAN_INLINE
#elif defined (__GNUC__)
-# if __GNUC_PREREQ (4,2) && defined (__STDC_VERSION__) \
- && __STDC_VERSION__ >= 199901L
-# define G_INLINE_FUNC extern __inline __attribute__ ((__gnu_inline__))
-# else
-# define G_INLINE_FUNC extern __inline
-# endif
+# define G_INLINE_FUNC static __inline __attribute__ ((unused))
#elif defined (G_CAN_INLINE)
# define G_INLINE_FUNC static inline
#else /* can't inline */