diff options
Diffstat (limited to 'test/ubsan/CMakeLists.txt')
-rw-r--r-- | test/ubsan/CMakeLists.txt | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/test/ubsan/CMakeLists.txt b/test/ubsan/CMakeLists.txt index 0938ea2b1..f61b0b303 100644 --- a/test/ubsan/CMakeLists.txt +++ b/test/ubsan/CMakeLists.txt @@ -20,6 +20,10 @@ if(APPLE) darwin_filter_host_archs(UBSAN_SUPPORTED_ARCH UBSAN_TEST_ARCH) endif() +check_list_contains(HAS_ASAN COMPILER_RT_RUNTIMES_TO_BUILD asan) +check_list_contains(HAS_MSAN COMPILER_RT_RUNTIMES_TO_BUILD msan) +check_list_contains(HAS_TSAN COMPILER_RT_RUNTIMES_TO_BUILD tsan) + foreach(arch ${UBSAN_TEST_ARCH}) set(UBSAN_TEST_TARGET_ARCH ${arch}) if(${arch} MATCHES "arm|aarch64") @@ -31,13 +35,17 @@ foreach(arch ${UBSAN_TEST_ARCH}) endif() add_ubsan_testsuite("Standalone" ubsan ${arch}) - if(COMPILER_RT_HAS_ASAN AND ";${ASAN_SUPPORTED_ARCH};" MATCHES ";${arch};") + check_list_contains(ASAN_HAS_ARCH ASAN_SUPPORTED_ARCH ${arch}) + check_list_contains(MSAN_HAS_ARCH MSAN_SUPPORTED_ARCH ${arch}) + check_list_contains(TSAN_HAS_ARCH TSAN_SUPPORTED_ARCH ${arch}) + + if(HAS_ASAN AND ASAN_HAS_ARCH) add_ubsan_testsuite("AddressSanitizer" asan ${arch}) endif() - if(COMPILER_RT_HAS_MSAN AND ";${MSAN_SUPPORTED_ARCH};" MATCHES ";${arch};") + if(HAS_MSAN AND MSAN_HAS_ARCH) add_ubsan_testsuite("MemorySanitizer" msan ${arch}) endif() - if(COMPILER_RT_HAS_TSAN AND ";${TSAN_SUPPORTED_ARCH};" MATCHES ";${arch};") + if(HAS_TSAN AND TSAN_HAS_ARCH) add_ubsan_testsuite("ThreadSanitizer" tsan ${arch}) endif() endforeach() |