diff options
author | James McCoy <jamessan@jamessan.com> | 2020-09-04 11:09:25 -0400 |
---|---|---|
committer | James McCoy <jamessan@jamessan.com> | 2020-09-04 11:09:25 -0400 |
commit | 33bf6f9ada84b9bb143cc8864461afec249c27bf (patch) | |
tree | 163781cffe7c85daf6d99dad2ee01e809285ac53 | |
parent | 74ad66404fff6ea4a5ffa219855deed1ebeb383e (diff) | |
download | rneovim-33bf6f9ada84b9bb143cc8864461afec249c27bf.tar.gz rneovim-33bf6f9ada84b9bb143cc8864461afec249c27bf.tar.bz2 rneovim-33bf6f9ada84b9bb143cc8864461afec249c27bf.zip |
ci: Try to recover from sanitizer issues
When running in CI, we want to find as many problems as possible
instead. Let the code try to keep running from recoverable issues so we
report all the sanitize issues we can.
-rw-r--r-- | src/nvim/CMakeLists.txt | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index 7b4438b896..2d98f1a659 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -624,9 +624,19 @@ if(CLANG_ASAN_UBSAN) message(STATUS "Enabling Clang address sanitizer and undefined behavior sanitizer for nvim.") check_c_compiler_flag(-fno-sanitize-recover=all SANITIZE_RECOVER_ALL) if(SANITIZE_RECOVER_ALL) - set(SANITIZE_RECOVER -fno-sanitize-recover=all) # Clang 3.6+ + if(TRAVIS_CI_BUILD) + # Try to recover from all sanitize issues so we get reports about all failures + set(SANITIZE_RECOVER -fsanitize-recover=all) # Clang 3.6+ + else() + set(SANITIZE_RECOVER -fno-sanitize-recover=all) # Clang 3.6+ + endif() else() - set(SANITIZE_RECOVER -fno-sanitize-recover) # Clang 3.5- + if(TRAVIS_CI_BUILD) + # Try to recover from all sanitize issues so we get reports about all failures + set(SANITIZE_RECOVER -fsanitize-recover) # Clang 3.5- + else() + set(SANITIZE_RECOVER -fno-sanitize-recover) # Clang 3.5- + endif() endif() set_property(TARGET nvim APPEND PROPERTY COMPILE_DEFINITIONS EXITFREE) set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS ${SANITIZE_RECOVER} -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address -fsanitize=undefined -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/src/.asan-blacklist) |