aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2020-10-17 05:38:56 +0200
committerSven Gothel <[email protected]>2020-10-17 05:38:56 +0200
commit10bede8947bfa35886edb931f6ff739ec1e3d6ab (patch)
tree3a97f50e102bea57b2c5d7a261d6b40a6e8722ec /CMakeLists.txt
parent9662620e9a19685f8dde2cac5bec74ba39cb71c7 (diff)
GCC: Add -Wcast-align=strict and cleanup -Wformat flags, also add DEBUG -fsanitize-address-use-after-scope
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt7
1 files changed, 4 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b266a7d..02b5463 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,12 +5,13 @@ FIND_PACKAGE (Threads REQUIRED)
# for all
set (CC_FLAGS_WARNING "-Wall -Wextra -Werror")
-set (GCC_FLAGS_WARNING "-Wall -Wextra -Wformat=2 -Wformat-overflow=2 -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat-y2k -Wnull-dereference -Winit-self -Werror")
+set (GCC_FLAGS_WARNING_FORMAT "-Wformat=2 -Wformat-overflow=2 -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat-y2k")
+set (GCC_FLAGS_WARNING "-Wall -Wextra -Wcast-align=strict -Wnull-dereference -Winit-self ${GCC_FLAGS_WARNING_FORMAT} -Werror")
# debug only
set (GCC_FLAGS_STACK "-fstack-protector-strong -fstack-check")
-# set (GCC_FLAGS_SANITIZE "-fsanitize=undefined -fsanitize=thread")
-set (GCC_FLAGS_SANITIZE "-fsanitize=address -fsanitize=pointer-compare -fsanitize=pointer-subtract -fsanitize=undefined -fsanitize=leak")
+# set (GCC_FLAGS_SANITIZE "-fsanitize-address-use-after-scope -fsanitize=undefined -fsanitize=thread")
+set (GCC_FLAGS_SANITIZE "-fsanitize-address-use-after-scope -fsanitize=address -fsanitize=pointer-compare -fsanitize=pointer-subtract -fsanitize=undefined -fsanitize=leak")
# -fsanitize=address cannot be combined with -fsanitize=thread
# -fsanitize=pointer-compare -fsanitize=pointer-subtract must be combined with -fsanitize=address
# -fsanitize=thread TSAN's lacks ability to properly handle GCC's atomic macros (like helgrind etc), can't check SC-DRF!