From 9b343f8e7e9e3709534b0ea1157032e580026e10 Mon Sep 17 00:00:00 2001 From: Sam Spilsbury Date: Tue, 21 Oct 2014 16:15:29 +0800 Subject: [PATCH] Set the HAVE_MEMORY_SANITIZER and HAVE_ADDRESS_SANITIZER cache entries. These were (inconsistently) not being set as opposed to HAVE_THREAD_SANITIZER and HAVE_UNDEFINED_BEHAVIOUR_SANITIZER --- FindASan.cmake | 11 +++++++++++ FindMSan.cmake | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/FindASan.cmake b/FindASan.cmake index 99f4af2..064b5b6 100644 --- a/FindASan.cmake +++ b/FindASan.cmake @@ -21,6 +21,13 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. # +# This module tests if address sanitizer is supported by the compiler, +# and creates a ASan build type (i.e. set CMAKE_BUILD_TYPE=ASan to use +# it). This sets the following variables: +# +# CMAKE_C_FLAGS_ASAN - Flags to use for C with asan +# CMAKE_CXX_FLAGS_ASAN - Flags to use for C++ with asan +# HAVE_ADDRESS_SANITIZER - True or false if the ASan build type is available include(CheckCCompilerFlag) @@ -43,8 +50,12 @@ endif() if(NOT ADDRESS_SANITIZER_FLAG) return() +else(NOT ADDRESS_SANITIZER_FLAG) + set(HAVE_ADDRESS_SANITIZER FALSE) endif() +set(HAVE_ADDRESS_SANITIZER TRUE) + set(CMAKE_C_FLAGS_ASAN "-O1 -g ${ADDRESS_SANITIZER_FLAG} -fno-omit-frame-pointer -fno-optimize-sibling-calls" CACHE STRING "Flags used by the C compiler during ASan builds." FORCE) diff --git a/FindMSan.cmake b/FindMSan.cmake index c8cd71d..2a7a2a8 100644 --- a/FindMSan.cmake +++ b/FindMSan.cmake @@ -26,7 +26,7 @@ # and creates a MSan build type (i.e. set CMAKE_BUILD_TYPE=MSan to use # it). This sets the following variables: # -# CMAKE_C_FLAGS_MSAN - Flags to use for C with tsan +# CMAKE_C_FLAGS_MSAN - Flags to use for C with msan # CMAKE_CXX_FLAGS_MSAN - Flags to use for C++ with msan # HAVE_MEMORY_SANITIZER - True or false if the MSan build type is available @@ -51,8 +51,11 @@ endif() if(NOT MEMORY_SANITIZER_FLAG) return() +else(NOT MEMORY_SANITIZER_FLAG) + set(HAVE_MEMORY_SANITIZER TRUE) endif() +set(HAVE_MEMORY_SANITIZER TRUE) set(CMAKE_C_FLAGS_MSAN "-O1 -g ${MEMORY_SANITIZER_FLAG} -fno-omit-frame-pointer -fno-optimize-sibling-calls" CACHE STRING "Flags used by the C compiler during MSan builds."