Add back LLVM_FINAL macro. lld still needs it.
authorCraig Topper <craig.topper@gmail.com>
Sun, 2 Mar 2014 08:34:05 +0000 (08:34 +0000)
committerCraig Topper <craig.topper@gmail.com>
Sun, 2 Mar 2014 08:34:05 +0000 (08:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202619 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/Compiler.h

index 321910c0139f3148f3c0ccf817faa31276a2a9be..c2545542480214436f50619bd1a78ad5f11eb6ac 100644 (file)
 #define LLVM_DELETED_FUNCTION
 #endif
 
+/// LLVM_FINAL - Expands to 'final' if the compiler supports it.
+/// Use to mark classes or virtual methods as final.
+#if __has_feature(cxx_override_control) || \
+    (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GNUC_PREREQ(4, 7)) || \
+    LLVM_MSC_PREREQ(1700)
+#define LLVM_FINAL final
+#else
+#define LLVM_FINAL
+#endif
+
 /// LLVM_OVERRIDE - Expands to 'override' if the compiler supports it.
 /// Use to mark virtual methods as overriding a base class method.
 #if __has_feature(cxx_override_control) || \