Index: include/parrot/atomic/gcc_x86.h
===================================================================
--- include/parrot/atomic/gcc_x86.h	(revision 22075)
+++ include/parrot/atomic/gcc_x86.h	(working copy)
@@ -27,7 +27,8 @@
  * if both I386 and X86_64 cmpxchg are defined, we are on x86_64 -
  * reuse existing code
  */
-inline static void *parrot_i386_cmpxchg(void *volatile *ptr, void *expect,
+PARROT_INLINE
+static void *parrot_i386_cmpxchg(void *volatile *ptr, void *expect,
                                         void *update)
 {
 #if defined(PARROT_HAS_X86_64_GCC_CMPXCHG)
@@ -82,7 +83,8 @@
         } \
     } while (0)
 
-inline static long parrot_i386_xadd(volatile long *l, long amount)
+PARROT_INLINE
+static long parrot_i386_xadd(volatile long *l, long amount)
 {
     long result = amount;
 #if defined(PARROT_HAS_X86_64_GCC_CMPXCHG)
Index: config/gen/config_h/feature_h.in
===================================================================
--- config/gen/config_h/feature_h.in	(revision 22075)
+++ config/gen/config_h/feature_h.in	(working copy)
@@ -129,8 +129,12 @@
 if (@inline@ ne '') {
     my $inl = @inline@;
     print OUT <<"END_PRINT";
-#define PARROT_INLINE $inl
-#define PARROT_HAS_INLINE
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+#  define PARROT_INLINE inline
+#  define PARROT_HAS_INLINE
+#else
+#  define PARROT_INLINE
+#endif
 END_PRINT
 }
 else {
