summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancis Ricci <francisjricci@gmail.com>2017-06-27 19:32:39 +0000
committerFrancis Ricci <francisjricci@gmail.com>2017-06-27 19:32:39 +0000
commitd379d1c2eec7db42e6ee0bafc4105512011dde95 (patch)
treefb4739e7cd8caab41f29a1823a4e34e2bbdeb9ae
parent352e60556e23086dc35f2db9f7860e367257e321 (diff)
downloadbcm5719-llvm-d379d1c2eec7db42e6ee0bafc4105512011dde95.tar.gz
bcm5719-llvm-d379d1c2eec7db42e6ee0bafc4105512011dde95.zip
Loop directly over sanitizers to build in cmake
Summary: Cleaner than computing the intersection for each possible sanitizer Reviewers: compnerd, beanz Subscribers: llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D34693 llvm-svn: 306453
-rw-r--r--compiler-rt/lib/CMakeLists.txt25
-rw-r--r--compiler-rt/test/CMakeLists.txt18
2 files changed, 9 insertions, 34 deletions
diff --git a/compiler-rt/lib/CMakeLists.txt b/compiler-rt/lib/CMakeLists.txt
index 7000efb6bf8..83a5acde7fb 100644
--- a/compiler-rt/lib/CMakeLists.txt
+++ b/compiler-rt/lib/CMakeLists.txt
@@ -21,17 +21,6 @@ function(compiler_rt_build_runtime runtime)
string(TOUPPER ${runtime} runtime_uppercase)
if(COMPILER_RT_HAS_${runtime_uppercase})
add_subdirectory(${runtime})
- foreach(directory ${ARGN})
- add_subdirectory(${directory})
- endforeach()
- endif()
-endfunction()
-
-function(compiler_rt_build_sanitizer sanitizer)
- string(TOLOWER ${sanitizer} sanitizer_lowercase)
- list(FIND COMPILER_RT_SANITIZERS_TO_BUILD ${sanitizer_lowercase} result)
- if(NOT ${result} EQUAL -1)
- compiler_rt_build_runtime(${sanitizer} ${ARGN})
endif()
endfunction()
@@ -44,14 +33,12 @@ if(COMPILER_RT_BUILD_SANITIZERS)
add_subdirectory(ubsan)
endif()
- compiler_rt_build_sanitizer(asan)
- compiler_rt_build_sanitizer(dfsan)
- compiler_rt_build_sanitizer(msan)
- compiler_rt_build_sanitizer(tsan tsan/dd)
- compiler_rt_build_sanitizer(safestack)
- compiler_rt_build_sanitizer(cfi)
- compiler_rt_build_sanitizer(esan)
- compiler_rt_build_sanitizer(scudo)
+ foreach(sanitizer ${COMPILER_RT_SANITIZERS_TO_BUILD})
+ compiler_rt_build_runtime(${sanitizer})
+ if(${sanitizer} STREQUAL tsan)
+ add_subdirectory(tsan/dd)
+ endif()
+ endforeach()
compiler_rt_build_runtime(profile)
endif()
diff --git a/compiler-rt/test/CMakeLists.txt b/compiler-rt/test/CMakeLists.txt
index 040d19bcc3b..0a6c11c34c5 100644
--- a/compiler-rt/test/CMakeLists.txt
+++ b/compiler-rt/test/CMakeLists.txt
@@ -45,14 +45,6 @@ function(compiler_rt_test_runtime 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} ${ARGN})
- endif()
-endfunction()
-
# Run sanitizer tests only if we're sure that clang would produce
# working binaries.
if(COMPILER_RT_CAN_EXECUTE_TESTS)
@@ -67,13 +59,9 @@ if(COMPILER_RT_CAN_EXECUTE_TESTS)
compiler_rt_test_runtime(ubsan cfi)
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(esan)
- compiler_rt_test_sanitizer(scudo)
+ foreach(sanitizer ${COMPILER_RT_SANITIZERS_TO_BUILD})
+ compiler_rt_test_runtime(${sanitizer})
+ endforeach()
compiler_rt_test_runtime(profile)
endif()
OpenPOWER on IntegriCloud