Add support for LLVM_USE_SANITIZER=Thread
authorEric Fiselier <eric@efcs.ca>
Tue, 18 Nov 2014 21:26:45 +0000 (21:26 +0000)
committerEric Fiselier <eric@efcs.ca>
Tue, 18 Nov 2014 21:26:45 +0000 (21:26 +0000)
llvm-svn: 222259

libcxx/CMakeLists.txt
libcxx/test/lit.cfg

index 5fb0f60..f12c525 100644 (file)
@@ -229,6 +229,8 @@ if (LIBCXX_BUILT_STANDALONE)
     elseif (LLVM_USE_SANITIZER STREQUAL "Undefined")
       list(APPEND LIBCXX_CXX_FLAGS
           "-fsanitize=undefined -fno-sanitize=vptr,function -fno-sanitize-recover")
+    elseif (LLVM_USE_SANITIZER STREQUAL "Thread")
+      list(APPEND LIBCXX_CXX_FLAGS "-fsanitize=thread")
     else()
       message(WARNING "Unsupported value of LLVM_USE_SANITIZER: ${LLVM_USE_SANITIZER}")
     endif()
index 9098b65..34875b0 100644 (file)
@@ -455,6 +455,9 @@ class Configuration(object):
                                        '-fno-sanitize=vptr,function',
                                        '-fno-sanitize-recover', '-O3']
                 self.config.available_features.add('ubsan')
+            elif san == 'Thread':
+                self.compile_flags += ['-fsanitize=thread']
+                self.config.available_features.add('tsan')
             else:
                 self.lit_config.fatal('unsupported value for '
                                       'libcxx_use_san: {0}'.format(san))