diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index 5fb0f60ad9d07c4fa22aa28bb93829cc869935a0..f12c5257409d5e1d5e8cdb03c971e8e19c549c03 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -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() diff --git a/libcxx/test/lit.cfg b/libcxx/test/lit.cfg index 9098b658b7acb1732ab94d165f88dd19b3cda1ed..34875b0fecd6b8a4718837241bb4dbc0857800c0 100644 --- a/libcxx/test/lit.cfg +++ b/libcxx/test/lit.cfg @@ -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))