diff options
| author | Francis Ricci <francisjricci@gmail.com> | 2017-06-27 15:22:56 +0000 | 
|---|---|---|
| committer | Francis Ricci <francisjricci@gmail.com> | 2017-06-27 15:22:56 +0000 | 
| commit | 80296ee7f376366c410b2140bce459eb9d5169d7 (patch) | |
| tree | ba8b5b60509ac938f86a8ca1731df126297070c0 | |
| parent | 13759a7ed62a362bc3d7455da8b96279e545cdc6 (diff) | |
| download | bcm5719-llvm-80296ee7f376366c410b2140bce459eb9d5169d7.tar.gz bcm5719-llvm-80296ee7f376366c410b2140bce459eb9d5169d7.zip  | |
Only test sanitizers that are built when COMPILER_RT_SANITIZERS_TO_BUILD is used
Summary: This allows check-all to be used when only a subset of the sanitizers are built.
Reviewers: beanz, compnerd
Subscribers: llvm-commits, mgorny
Differential Revision: https://reviews.llvm.org/D34644
llvm-svn: 306415
| -rw-r--r-- | compiler-rt/lib/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | compiler-rt/test/CMakeLists.txt | 75 | 
2 files changed, 33 insertions, 43 deletions
diff --git a/compiler-rt/lib/CMakeLists.txt b/compiler-rt/lib/CMakeLists.txt index 4ab1e933af3..7000efb6bf8 100644 --- a/compiler-rt/lib/CMakeLists.txt +++ b/compiler-rt/lib/CMakeLists.txt @@ -28,7 +28,6 @@ function(compiler_rt_build_runtime runtime)  endfunction()  function(compiler_rt_build_sanitizer sanitizer) -  string(TOUPPER ${sanitizer} sanitizer_uppercase)    string(TOLOWER ${sanitizer} sanitizer_lowercase)    list(FIND COMPILER_RT_SANITIZERS_TO_BUILD ${sanitizer_lowercase} result)    if(NOT ${result} EQUAL -1) diff --git a/compiler-rt/test/CMakeLists.txt b/compiler-rt/test/CMakeLists.txt index 7685fb3f426..8ef66c3c0bb 100644 --- a/compiler-rt/test/CMakeLists.txt +++ b/compiler-rt/test/CMakeLists.txt @@ -35,6 +35,21 @@ if(NOT ANDROID)    endif()  endif() +function(compiler_rt_test_runtime runtime) +  string(TOUPPER ${runtime} runtime_uppercase) +  if(COMPILER_RT_HAS_${runtime_uppercase}) +    add_subdirectory(${runtime}) +  endif() +endfunction() + +function(compiler_rt_test_sanitizer sanitizer) +  string(TOLOWER ${sanitizer} sanitizer_lowercase) +  list(FIND COMPILER_RT_SANITIZERS_TO_BUILD ${sanitizer_lowercase} result) +  if(NOT ${result} EQUAL -1) +    compiler_rt_test_runtime(${sanitizer}) +  endif() +endfunction() +  # Run sanitizer tests only if we're sure that clang would produce  # working binaries.  if(COMPILER_RT_CAN_EXECUTE_TESTS) @@ -42,49 +57,25 @@ if(COMPILER_RT_CAN_EXECUTE_TESTS)      add_subdirectory(builtins)    endif()    if(COMPILER_RT_BUILD_SANITIZERS) -    if(COMPILER_RT_HAS_ASAN) -      add_subdirectory(asan) -    endif() -    if(COMPILER_RT_HAS_DFSAN) -      add_subdirectory(dfsan) -    endif() -    if (COMPILER_RT_HAS_INTERCEPTION) -      add_subdirectory(interception) -    endif() -    if(COMPILER_RT_HAS_LSAN) -      add_subdirectory(lsan) -    endif() -    if(COMPILER_RT_HAS_MSAN) -      add_subdirectory(msan) -    endif() -    if(COMPILER_RT_HAS_PROFILE) -      add_subdirectory(profile) -    endif() -    if(COMPILER_RT_HAS_SANITIZER_COMMON) -      add_subdirectory(sanitizer_common) -    endif() -    if(COMPILER_RT_HAS_TSAN) -      add_subdirectory(tsan) -    endif() -    if(COMPILER_RT_HAS_UBSAN) -      add_subdirectory(ubsan) -    endif() -    # CFI tests require diagnostic mode, which is implemented in UBSan. -    if(COMPILER_RT_HAS_UBSAN) -      add_subdirectory(cfi) -    endif() -    if(COMPILER_RT_HAS_SAFESTACK) -      add_subdirectory(safestack) -    endif() -    if(COMPILER_RT_HAS_ESAN) -      add_subdirectory(esan) -    endif() -    if(COMPILER_RT_HAS_SCUDO) -      add_subdirectory(scudo) -    endif() +    compiler_rt_test_runtime(interception) + +    compiler_rt_test_runtime(lsan) +    compiler_rt_test_runtime(ubsan) +    compiler_rt_test_runtime(sanitizer_common) + +    compiler_rt_test_sanitizer(asan) +    compiler_rt_test_sanitizer(dfsan) +    compiler_rt_test_sanitizer(msan) +    compiler_rt_test_sanitizer(tsan) +    compiler_rt_test_sanitizer(safestack) +    compiler_rt_test_sanitizer(cfi) +    compiler_rt_test_sanitizer(esan) +    compiler_rt_test_sanitizer(scudo) + +    compiler_rt_test_runtime(profile)    endif() -  if(COMPILER_RT_BUILD_XRAY AND COMPILER_RT_HAS_XRAY) -    add_subdirectory(xray) +  if(COMPILER_RT_BUILD_XRAY) +    compiler_rt_test_runtime(xray)    endif()  endif()  | 

