]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Fixed msan detection when compiler doesn't support it.
authorNathan Moinvaziri <nathan@solidstatenetworks.com>
Sun, 6 Oct 2019 01:30:40 +0000 (18:30 -0700)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Wed, 9 Oct 2019 08:15:31 +0000 (10:15 +0200)
CMakeLists.txt

index 33ec8eedf20dbec57758247ca0645eeea77533f1..ee5be006da0337ba06526590cf1f63abd39b8488 100644 (file)
@@ -288,12 +288,14 @@ endif()
 
 if(WITH_MSAN)
     set(CMAKE_REQUIRED_FLAGS "-fsanitize=memory")
-    check_c_source_compiles("int main() { return 0; }" HAS_MSAN FAIL_REGEX "not supported")
-    if(${HAS_MSAN})
+    check_c_source_compiles("int main() { return 0; }"
+        HAS_MSAN FAIL_REGEX "not supported|unrecognized command")
+    if(HAS_MSAN)
         set(SANITIZERS_FLAGS "-fsanitize=memory")
         message(STATUS "Adding memory sanitizer flag: ${SANITIZERS_FLAGS}")
         set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZERS_FLAGS}")
     endif()
+    set(CMAKE_REQUIRED_FLAGS)
 endif()
 
 if(WITH_SANITIZERS)
@@ -331,7 +333,7 @@ if(WITH_SANITIZERS)
         if(NOT (CMAKE_CROSSCOMPILING_EMULATOR AND ${_flag} STREQUAL "leak")) # LeakSanitizer crashes under qemu
             set(CMAKE_REQUIRED_FLAGS "-fsanitize=${SANITIZERS_FLAGS},${_flag}")
             check_c_source_compiles("int main() { return 0; }"
-              HAS_SANITIZER_${_flag} FAIL_REGEX "not supported")
+              HAS_SANITIZER_${_flag} FAIL_REGEX "not supported|unrecognized command")
             if(${HAS_SANITIZER_${_flag}})
                 if("${SANITIZERS_FLAGS}" STREQUAL "")
                     set(SANITIZERS_FLAGS "${_flag}")