Skip to content

Commit 59242af

Browse files
authored
[CI] Add leak sanitizer run (#462)
1 parent 6c1e33c commit 59242af

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

.github/workflows/ubuntu.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,8 @@ jobs:
386386
run: >
387387
cmake -S . -B build -G Ninja
388388
-D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
389-
-D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_ADDRESS_SANITIZER=ON -D ENABLE_UB_SANITIZER=ON
389+
-D CMAKE_BUILD_TYPE=RELEASE
390+
-D ENABLE_ADDRESS_SANITIZER=ON -D ENABLE_UB_SANITIZER=ON -D ENABLE_LEAK_SANITIZER=ON
390391
-D CMAKE_INSTALL_PREFIX=install
391392
env:
392393
CC: clang-20

cmake/configure.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ if( UNIX )
6868
-Wold-style-definition \
6969
-Wmissing-prototypes")
7070

71-
if ("${ENABLE_ADDRESS_SANITIZER}" OR "${ENABLE_UB_SANITIZER}")
71+
if ("${ENABLE_ADDRESS_SANITIZER}" OR "${ENABLE_UB_SANITIZER}" OR "${ENABLE_LEAK_SANITIZER}")
7272
set (COMMON_COMPILER_FLAGS "${COMMON_COMPILER_FLAGS} -Wno-cast-align")
7373
endif()
7474

cmake/sanitizers.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU")
1010
add_link_options(-fsanitize=undefined -fno-sanitize=signed-integer-overflow)
1111
message(STATUS "Enabled UB sanitizer")
1212
endif()
13+
if (ENABLE_LEAK_SANITIZER)
14+
add_compile_options(-fsanitize=leak)
15+
add_link_options(-fsanitize=leak)
16+
message(STATUS "Enabled leak sanitizer")
17+
endif()
1318
else()
1419
message(WARNING "Sanitizers are supported on gcc and clang compilers only!")
1520
endif()

0 commit comments

Comments
 (0)