diff options
author | Eric Fiselier <eric@efcs.ca> | 2017-02-07 22:48:20 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2017-02-07 22:48:20 +0000 |
commit | bd9a825660c429caea821d6a9e10034538cf0fb0 (patch) | |
tree | 66714b14f84bd7fbd0e85f03dbf8204deb6786a5 | |
parent | 6ac64c3a6da5dc0d2380a130919caa9055cb3765 (diff) | |
download | bcm5719-llvm-bd9a825660c429caea821d6a9e10034538cf0fb0.tar.gz bcm5719-llvm-bd9a825660c429caea821d6a9e10034538cf0fb0.zip |
[CMake] Fix USE_LLVM_SANITIZER configuration for out-of-tree builds.
Summary:
r291918 changed `HandleLLVMOptions.cmake` to add `-fsanitize-blacklist=<llvm-file>` when `LLVM_USE_SANITIZER=Undefined` is specified. This breaks out-of-tree users of `LLVM_USE_SANITIZER` since that file is not present.
This patch fixes the issue by checking if the file exists first.
Reviewers: mgorny, bogner, vitalybuka, krasin
Reviewed By: krasin
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D29686
llvm-svn: 294367
-rw-r--r-- | llvm/cmake/modules/HandleLLVMOptions.cmake | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake index fd6969ff6f1..50a8541206b 100644 --- a/llvm/cmake/modules/HandleLLVMOptions.cmake +++ b/llvm/cmake/modules/HandleLLVMOptions.cmake @@ -589,8 +589,11 @@ if(LLVM_USE_SANITIZER) append_common_sanitizer_flags() append("-fsanitize=undefined -fno-sanitize=vptr,function -fno-sanitize-recover=all" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) - append("-fsanitize-blacklist=${CMAKE_SOURCE_DIR}/utils/sanitizers/ubsan_blacklist.txt" - CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + set(BLACKLIST_FILE "${CMAKE_SOURCE_DIR}/utils/sanitizers/ubsan_blacklist.txt") + if (EXISTS "${BLACKLIST_FILE}") + append("-fsanitize-blacklist=${BLACKLIST_FILE}" + CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + endif() elseif (LLVM_USE_SANITIZER STREQUAL "Thread") append_common_sanitizer_flags() append("-fsanitize=thread" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) |