don't define __GNUC_PREREQ which is not in the glib namespace. for gcc,
author16:51:23 Tim Janik <timj@imendio.com>
Fri, 18 Jan 2008 15:51:49 +0000 (15:51 +0000)
committerTim Janik <timj@src.gnome.org>
Fri, 18 Jan 2008 15:51:49 +0000 (15:51 +0000)
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.

svn path=/trunk/; revision=6333

ChangeLog
glib/gutils.h

index 5e353b6..6c19a16 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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:
index b3af632..b455a2c 100644 (file)
@@ -69,18 +69,6 @@ G_BEGIN_DECLS
 #  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'.
@@ -109,12 +97,7 @@ G_BEGIN_DECLS
 #  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 */