don't use always_inline with gcc 3.4, it has some unimplemented features
authorChris Lattner <sabre@nondot.org>
Wed, 3 Mar 2010 20:47:12 +0000 (20:47 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 3 Mar 2010 20:47:12 +0000 (20:47 +0000)
and is too old to really care about the performance of the generated
compiler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97662 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/Compiler.h

index 1376e4664c204421f9eb44d987452cbbaadfb1df..881a0fea23ef5445d5d779760bffc32b1c899253 100644 (file)
@@ -78,7 +78,9 @@
 
 // ALWAYS_INLINE - On compilers where we have a directive to do so, mark a
 // method "always inline" because it is performance sensitive.
-#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+// GCC 3.4 supported this but is buggy in various cases and produces
+// unimplemented errors, just use it in GCC 4.0 and later.
+#if __GNUC__ > 3
 #define ALWAYS_INLINE __attribute__((always_inline))
 #else
 // TODO: No idea how to do this with MSVC.