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
This commit is contained in:
Sam Spilsbury 2014-10-21 16:15:29 +08:00
parent 42eac1f7af
commit 9b343f8e7e
2 changed files with 15 additions and 1 deletions

View File

@ -21,6 +21,13 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE. # 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) include(CheckCCompilerFlag)
@ -43,8 +50,12 @@ endif()
if(NOT ADDRESS_SANITIZER_FLAG) if(NOT ADDRESS_SANITIZER_FLAG)
return() return()
else(NOT ADDRESS_SANITIZER_FLAG)
set(HAVE_ADDRESS_SANITIZER FALSE)
endif() endif()
set(HAVE_ADDRESS_SANITIZER TRUE)
set(CMAKE_C_FLAGS_ASAN "-O1 -g ${ADDRESS_SANITIZER_FLAG} -fno-omit-frame-pointer -fno-optimize-sibling-calls" 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." CACHE STRING "Flags used by the C compiler during ASan builds."
FORCE) FORCE)

View File

@ -26,7 +26,7 @@
# and creates a MSan build type (i.e. set CMAKE_BUILD_TYPE=MSan to use # and creates a MSan build type (i.e. set CMAKE_BUILD_TYPE=MSan to use
# it). This sets the following variables: # 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 # CMAKE_CXX_FLAGS_MSAN - Flags to use for C++ with msan
# HAVE_MEMORY_SANITIZER - True or false if the MSan build type is available # HAVE_MEMORY_SANITIZER - True or false if the MSan build type is available
@ -51,8 +51,11 @@ endif()
if(NOT MEMORY_SANITIZER_FLAG) if(NOT MEMORY_SANITIZER_FLAG)
return() return()
else(NOT MEMORY_SANITIZER_FLAG)
set(HAVE_MEMORY_SANITIZER TRUE)
endif() endif()
set(HAVE_MEMORY_SANITIZER TRUE)
set(CMAKE_C_FLAGS_MSAN "-O1 -g ${MEMORY_SANITIZER_FLAG} -fno-omit-frame-pointer -fno-optimize-sibling-calls" 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." CACHE STRING "Flags used by the C compiler during MSan builds."