|
@@ -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 #####
|
|
|
|