replace LeakSanitizerIsTurnedOffForTheCurrentProcess with __lsan_is_turned_off, but this time hide it under __has_feature(address_sanitizer); also include <sanitizer/lsan_interface.h>
llvm-svn: 199303
diff --git a/llvm/utils/TableGen/TableGen.cpp b/llvm/utils/TableGen/TableGen.cpp
index 669127c..00c3a6f 100644
--- a/llvm/utils/TableGen/TableGen.cpp
+++ b/llvm/utils/TableGen/TableGen.cpp
@@ -181,9 +181,11 @@
return TableGenMain(argv[0], &LLVMTableGenMain);
}
-extern "C" {
+#ifdef __has_feature
+#if __has_feature(address_sanitizer)
+#include <sanitizer/lsan_interface.h>
// Disable LeakSanitizer for this binary as it has too many leaks that are not
-// very interesting to fix. LeakSanitizerIsTurnedOffForTheCurrentProcess is
-// explained in compiler-rt/include/sanitizer/lsan_interface.h
-int LeakSanitizerIsTurnedOffForTheCurrentProcess() { return 1; }
-} // extern "C"
+// very interesting to fix. See compiler-rt/include/sanitizer/lsan_interface.h .
+int __lsan_is_turned_off() { return 1; }
+#endif // __has_feature(address_sanitizer)
+#endif // defined(__has_feature)