mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
build: enable EXITFREE on Debug builds (#17783)
This makes it more convenient to find memory leaks since you don't need to remember to set the EXITFREE flag every time you use valgrind or a sanitizer.
This commit is contained in:
parent
b1b5802009
commit
4c7462fdb3
@ -193,15 +193,16 @@ if(NOT "${MIN_LOG_LEVEL}" MATCHES "^$")
|
||||
add_definitions(-DMIN_LOG_LEVEL=${MIN_LOG_LEVEL})
|
||||
endif()
|
||||
|
||||
if(DEBUG OR CLANG_ASAN_UBSAN OR CLANG_MSAN OR CLANG_TSAN)
|
||||
add_definitions(-DEXITFREE)
|
||||
endif()
|
||||
|
||||
get_directory_property(gen_cdefs COMPILE_DEFINITIONS)
|
||||
foreach(gen_cdef ${gen_cdefs} DO_NOT_DEFINE_EMPTY_ATTRIBUTES)
|
||||
if(NOT ${gen_cdef} MATCHES "INCLUDE_GENERATED_DECLARATIONS")
|
||||
list(APPEND gen_cflags "-D${gen_cdef}")
|
||||
endif()
|
||||
endforeach()
|
||||
if(CLANG_ASAN_UBSAN OR CLANG_MSAN OR CLANG_TSAN)
|
||||
list(APPEND gen_cflags "-DEXITFREE")
|
||||
endif()
|
||||
|
||||
get_directory_property(gen_includes INCLUDE_DIRECTORIES)
|
||||
foreach(gen_include ${gen_includes} ${LUA_PREFERRED_INCLUDE_DIRS})
|
||||
@ -689,17 +690,14 @@ if(CLANG_ASAN_UBSAN)
|
||||
set(SANITIZE_RECOVER -fno-sanitize-recover) # Clang 3.5-
|
||||
endif()
|
||||
endif()
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_DEFINITIONS EXITFREE)
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS ${SANITIZE_RECOVER} -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address -fsanitize=undefined -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/src/.asan-blacklist)
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=address -fsanitize=undefined ")
|
||||
elseif(CLANG_MSAN)
|
||||
message(STATUS "Enabling Clang memory sanitizer for nvim.")
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_DEFINITIONS EXITFREE)
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -fno-optimize-sibling-calls)
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=memory -fsanitize-memory-track-origins ")
|
||||
elseif(CLANG_TSAN)
|
||||
message(STATUS "Enabling Clang thread sanitizer for nvim.")
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_DEFINITIONS EXITFREE)
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS -fsanitize=thread)
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS -fPIE)
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=thread ")
|
||||
|
Loading…
Reference in New Issue
Block a user