summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Rauch <Rauch.Christian@gmx.de>2021-02-08 20:50:00 +0300
committerChristian Rauch <Rauch.Christian@gmx.de>2021-02-08 20:50:00 +0300
commit1fdb11b2a573729b519a538ac3b96a92499ddd02 (patch)
tree3d97482fd9c13a27ea82f2ecbd134328aef6ce4e
parenta1e481095e623eef4bc012fbcf4e07088b22e92c (diff)
downloadsdl-1fdb11b2a573729b519a538ac3b96a92499ddd02.tar.gz
enable AddressSanitizer only for GCC 5 onwards (bug #5533)
-rw-r--r--CMakeLists.txt29
1 files changed, 15 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5757388c4..cb65bdc04 100644
--- a/CMakeLists.txt
+++ b/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 #####