Forráskód Böngészése

enable AddressSanitizer only for GCC 5 onwards (bug #5533)

Christian Rauch 4 éve
szülő
commit
5045d299a6
1 módosított fájl, 15 hozzáadás és 14 törlés
  1. 15 14
      CMakeLists.txt

+ 15 - 14
CMakeLists.txt

@@ -2350,20 +2350,21 @@ macro(asan_check_add_debug_flag2 ASAN_FLAG)
 endmacro()
 
 # enable AddressSanitizer if supported
-check_add_debug_flag("-shared-libasan" "shared_libasan")
-asan_check_add_debug_flag2("address")
-asan_check_add_debug_flag("bool")
-asan_check_add_debug_flag("bounds")
-asan_check_add_debug_flag("enum")
-asan_check_add_debug_flag("float-cast-overflow")
-asan_check_add_debug_flag("float-divide-by-zero")
-asan_check_add_debug_flag("nonnull-attribute")
-asan_check_add_debug_flag("returns-nonnull-attribute")
-asan_check_add_debug_flag("signed-integer-overflow")
-asan_check_add_debug_flag("undefined")
-asan_check_add_debug_flag("vla-bound")
-asan_check_add_debug_flag("leak")
-asan_check_add_debug_flag("object-size")
+if ( (CMAKE_C_COMPILER_ID STREQUAL "GNU") AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 4)
+  asan_check_add_debug_flag2("address")
+  asan_check_add_debug_flag("bool")
+  asan_check_add_debug_flag("bounds")
+  asan_check_add_debug_flag("enum")
+  asan_check_add_debug_flag("float-cast-overflow")
+  asan_check_add_debug_flag("float-divide-by-zero")
+  asan_check_add_debug_flag("nonnull-attribute")
+  asan_check_add_debug_flag("returns-nonnull-attribute")
+  asan_check_add_debug_flag("signed-integer-overflow")
+  asan_check_add_debug_flag("undefined")
+  asan_check_add_debug_flag("vla-bound")
+  asan_check_add_debug_flag("leak")
+  asan_check_add_debug_flag("object-size")
+endif()
 
 ##### Tests #####