Browse Source

use the __extern_always_inline define from cdefs.h instead of duplicating gcc version checking in every pt-machine.h header ... while __extern_always_inline should work fine, i think what is intended is __extern_inline ... should double check later

Mike Frysinger 16 years ago
parent
commit
94fa1bb40f
40 changed files with 43 additions and 161 deletions
  1. 4 2
      include/sys/cdefs.h
  2. 1 5
      libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h
  3. 1 5
      libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h
  4. 1 9
      libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h
  5. 1 5
      libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h
  6. 1 5
      libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h
  7. 1 5
      libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h
  8. 1 5
      libpthread/linuxthreads.old/sysdeps/h8300/pt-machine.h
  9. 1 5
      libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h
  10. 1 5
      libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h
  11. 1 5
      libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h
  12. 1 5
      libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h
  13. 1 5
      libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h
  14. 1 5
      libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h
  15. 1 5
      libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h
  16. 1 5
      libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h
  17. 1 5
      libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h
  18. 1 1
      libpthread/linuxthreads.old/sysdeps/sparc/sparc32/pt-machine.h
  19. 1 1
      libpthread/linuxthreads.old/sysdeps/sparc/sparc64/pt-machine.h
  20. 1 5
      libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h
  21. 1 5
      libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h
  22. 1 1
      libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h
  23. 1 5
      libpthread/linuxthreads/sysdeps/alpha/pt-machine.h
  24. 1 5
      libpthread/linuxthreads/sysdeps/arm/pt-machine.h
  25. 1 5
      libpthread/linuxthreads/sysdeps/avr32/pt-machine.h
  26. 1 5
      libpthread/linuxthreads/sysdeps/cris/pt-machine.h
  27. 1 5
      libpthread/linuxthreads/sysdeps/hppa/pt-machine.h
  28. 1 1
      libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h
  29. 1 5
      libpthread/linuxthreads/sysdeps/i386/pt-machine.h
  30. 1 5
      libpthread/linuxthreads/sysdeps/ia64/pt-machine.h
  31. 1 5
      libpthread/linuxthreads/sysdeps/m68k/pt-machine.h
  32. 1 5
      libpthread/linuxthreads/sysdeps/mips/pt-machine.h
  33. 1 1
      libpthread/linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h
  34. 1 1
      libpthread/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h
  35. 1 1
      libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
  36. 1 1
      libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
  37. 1 5
      libpthread/linuxthreads/sysdeps/sh/pt-machine.h
  38. 1 1
      libpthread/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h
  39. 1 1
      libpthread/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h
  40. 1 5
      libpthread/linuxthreads/sysdeps/x86_64/pt-machine.h

+ 4 - 2
include/sys/cdefs.h

@@ -298,9 +298,11 @@
 #endif
 
 /* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
-   inline semantics, unless -fgnu89-inline is used.  */
+   inline semantics, unless -fgnu89-inline is used.
+   For -std=gnu99, forcing gnu_inline attribute does not change behavior,
+   but may silence spurious warnings (such as in GCC 4.2).  */
 #if !defined __cplusplus || __GNUC_PREREQ (4,3)
-# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
+# if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ || defined __cplusplus
 #  define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
 #  if __GNUC_PREREQ (4,3)
 #   define __extern_always_inline \

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h

@@ -26,11 +26,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 #ifdef __linux__

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h

@@ -25,11 +25,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* This will not work on ARM1 or ARM2 because SWP is lacking on those

+ 1 - 9
libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h

@@ -12,11 +12,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 static inline int
@@ -34,10 +30,6 @@ _test_and_set (int *p, int v)
        return result;
 }
 
-#ifndef PT_EI
-# define PT_EI extern inline
-#endif
-
 extern long int testandset (int *spinlock);
 extern int __compare_and_swap (long int *p, long int oldval, long int newval);
 

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h

@@ -24,11 +24,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 #include <asm/fixed_code.h>

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h

@@ -23,11 +23,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 PT_EI long int

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h

@@ -27,11 +27,7 @@
 #ifndef __ASSEMBLER__
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Spinlock implementation; required.  */

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/h8300/pt-machine.h

@@ -25,11 +25,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Spinlock implementation; required.  */

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h

@@ -26,11 +26,7 @@
 
 #ifndef __ASSEMBLER__
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /*

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h

@@ -29,11 +29,7 @@ extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
                      size_t __child_stack_size, int __flags, void *__arg, ...);
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Make sure gcc doesn't try to be clever and move things around on

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h

@@ -25,11 +25,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Spinlock implementation; required.  */

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h

@@ -27,11 +27,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Copyright (C) 2000, 2002 Free Software Foundation, Inc.

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h

@@ -25,11 +25,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Spinlock implementation; required.  */

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h

@@ -24,11 +24,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Spinlock implementation; required.  */

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h

@@ -27,11 +27,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* For multiprocessor systems, we want to ensure all memory accesses

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h

@@ -26,11 +26,7 @@
 
 #ifndef __ASSEMBLER__
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Spinlock implementation; required.  */

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h

@@ -28,11 +28,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Get some notion of the current stack.  Need not be exactly the top

+ 1 - 1
libpthread/linuxthreads.old/sysdeps/sparc/sparc32/pt-machine.h

@@ -23,7 +23,7 @@
 #define _PT_MACHINE_H   1
 
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
 #endif
 
 extern long int testandset (int *spinlock);

+ 1 - 1
libpthread/linuxthreads.old/sysdeps/sparc/sparc64/pt-machine.h

@@ -23,7 +23,7 @@
 #define _PT_MACHINE_H   1
 
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
 #endif
 
 extern long int testandset (int *spinlock);

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h

@@ -17,11 +17,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Get some notion of the current stack.  Need not be exactly the top

+ 1 - 5
libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h

@@ -30,11 +30,7 @@
 
 
 # ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+#  define PT_EI __extern_always_inline
 # endif
 
 /* Get some notion of the current stack.  Need not be exactly the top

+ 1 - 1
libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h

@@ -26,7 +26,7 @@
 #include <asm/unistd.h>
 
 #ifndef PT_EI
-# define PT_EI extern inline
+# define PT_EI __extern_always_inline
 #endif
 
 /* Memory barrier.  */

+ 1 - 5
libpthread/linuxthreads/sysdeps/alpha/pt-machine.h

@@ -26,11 +26,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 #ifdef __linux__

+ 1 - 5
libpthread/linuxthreads/sysdeps/arm/pt-machine.h

@@ -25,11 +25,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* This will not work on ARM1 or ARM2 because SWP is lacking on those

+ 1 - 5
libpthread/linuxthreads/sysdeps/avr32/pt-machine.h

@@ -12,11 +12,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 static inline int

+ 1 - 5
libpthread/linuxthreads/sysdeps/cris/pt-machine.h

@@ -24,11 +24,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 PT_EI long int

+ 1 - 5
libpthread/linuxthreads/sysdeps/hppa/pt-machine.h

@@ -26,11 +26,7 @@
 #include <bits/initspin.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Get some notion of the current stack.  Need not be exactly the top

+ 1 - 1
libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h

@@ -23,7 +23,7 @@
 #define _PT_MACHINE_H	1
 
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
 #endif
 #include "kernel-features.h"
 

+ 1 - 5
libpthread/linuxthreads/sysdeps/i386/pt-machine.h

@@ -29,11 +29,7 @@
 
 #ifndef __ASSEMBLER__
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /*

+ 1 - 5
libpthread/linuxthreads/sysdeps/ia64/pt-machine.h

@@ -25,11 +25,7 @@
 #include <ia64intrin.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Make sure gcc doesn't try to be clever and move things around on

+ 1 - 5
libpthread/linuxthreads/sysdeps/m68k/pt-machine.h

@@ -25,11 +25,7 @@
 #include <features.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Spinlock implementation; required.  */

+ 1 - 5
libpthread/linuxthreads/sysdeps/mips/pt-machine.h

@@ -29,11 +29,7 @@
 #include <sys/tas.h>
 
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Spinlock implementation; required.  */

+ 1 - 1
libpthread/linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h

@@ -26,7 +26,7 @@
 #define _PT_MACHINE_H   1
 
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
 #endif
 
 extern long int testandset (int *spinlock);

+ 1 - 1
libpthread/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h

@@ -25,7 +25,7 @@
 #define _PT_MACHINE_H   1
 
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
 #endif
 
 extern long int testandset (int *spinlock);

+ 1 - 1
libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h

@@ -23,7 +23,7 @@
 #define _PT_MACHINE_H   1
 
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
 #endif
 
 extern long int testandset (int *spinlock);

+ 1 - 1
libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h

@@ -23,7 +23,7 @@
 #define _PT_MACHINE_H   1
 
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
 #endif
 
 extern long int testandset (int *spinlock);

+ 1 - 5
libpthread/linuxthreads/sysdeps/sh/pt-machine.h

@@ -26,11 +26,7 @@
 
 #ifndef __ASSEMBLER__
 #ifndef PT_EI
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define PT_EI static inline __attribute__((always_inline))
-# else
-#  define PT_EI extern inline __attribute__((always_inline))
-# endif
+# define PT_EI __extern_always_inline
 #endif
 
 /* Spinlock implementation; required.  */

+ 1 - 1
libpthread/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h

@@ -23,7 +23,7 @@
 #define _PT_MACHINE_H   1
 
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
 #endif
 
 extern long int testandset (int *spinlock);

+ 1 - 1
libpthread/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h

@@ -23,7 +23,7 @@
 #define _PT_MACHINE_H   1
 
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
 #endif
 
 extern long int testandset (int *spinlock);

+ 1 - 5
libpthread/linuxthreads/sysdeps/x86_64/pt-machine.h

@@ -30,11 +30,7 @@
 
 
 # ifndef PT_EI
-#  if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#   define PT_EI static inline __attribute__((always_inline))
-#  else
-#   define PT_EI extern inline __attribute__((always_inline))
-#  endif
+#  define PT_EI __extern_always_inline
 # endif
 
 /* Get some notion of the current stack.  Need not be exactly the top