Skip to content

Commit bda7f00

Browse files
committed
added CMake option ANALYZE_TYPE to use the TypeSanitizer
1 parent c1e8768 commit bda7f00

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

cmake/dynamic_analyzer_options.cmake

+6
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,9 @@ if(ANALYZE_UNDEFINED)
3131
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=nullability")
3232
endif()
3333
endif()
34+
35+
if(ANALYZE_TYPE)
36+
add_compile_options(-fsanitize=type)
37+
38+
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=type")
39+
endif()

cmake/options.cmake

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ endif()
2020
option(ANALYZE_ADDRESS "Build with AddressSanitzer to detect memory error" OFF)
2121
option(ANALYZE_THREAD "Build with ThreadSanitizer to detect data races" OFF)
2222
option(ANALYZE_UNDEFINED "Build with UndefinedBehaviorSanitizer to detect undefined behavior" OFF)
23+
option(ANALYZE_TYPE "Build with TypeSanitizer to detect aliasing issues" OFF)
2324

2425
option(WARNINGS_ARE_ERRORS "Treat warnings as errors" OFF)
2526
if(WARNINGS_ARE_ERRORS)

cmake/printInfo.cmake

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ message(STATUS "ANALYZE_MEMORY = ${ANALYZE_MEMORY}")
3030
message(STATUS "ANALYZE_ADDRESS = ${ANALYZE_ADDRESS}")
3131
message(STATUS "ANALYZE_THREAD = ${ANALYZE_THREAD}")
3232
message(STATUS "ANALYZE_UNDEFINED = ${ANALYZE_UNDEFINED}")
33+
message(STATUS "ANALYZE_TYPE = ${ANALYZE_TYPE}")
3334
message(STATUS)
3435
message(STATUS "WARNINGS_ARE_ERRORS = ${WARNINGS_ARE_ERRORS}")
3536
message(STATUS "EXTERNALS_AS_SYSTEM = ${EXTERNALS_AS_SYSTEM}")

0 commit comments

Comments
 (0)