Skip to content

Commit 5fa08f4

Browse files
committed
Add extra compilation flags
Those flags provide extra warnings in case of discarding qualifiers or return values.
1 parent dca2157 commit 5fa08f4

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

cmake/helpers.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ function(add_umf_target_compile_options name)
9999
-Wunused-parameter
100100
-Wformat
101101
-Wformat-security
102+
-Wcast-qual
103+
-Wunused-result
102104
$<$<CXX_COMPILER_ID:GNU>:-fdiagnostics-color=auto>)
103105
if(CMAKE_BUILD_TYPE STREQUAL "Release")
104106
target_compile_definitions(${name} PRIVATE -D_FORTIFY_SOURCE=2)

src/provider/provider_tracking.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -583,8 +583,9 @@ static size_t getDataSizeFromIpcHandle(const void *providerIpcData) {
583583
// by umf_ipc_data_t. We use this trick to get pointer to
584584
// umf_ipc_data_t data because the providerIpcData is
585585
// the Flexible Array Member of umf_ipc_data_t.
586-
umf_ipc_data_t *ipcUmfData =
587-
(umf_ipc_data_t *)((uint8_t *)providerIpcData - sizeof(umf_ipc_data_t));
586+
const umf_ipc_data_t *ipcUmfData =
587+
(const umf_ipc_data_t *)((const uint8_t *)providerIpcData -
588+
sizeof(umf_ipc_data_t));
588589
return ipcUmfData->baseSize;
589590
}
590591

src/utils/utils_log.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ static void util_log_internal(util_log_level_t level, int perror,
133133
char err_buff[1024]; // max size according to manpage.
134134
int saveno = errno;
135135
errno = 0;
136-
char *err = strerror_r(saveno, err_buff, sizeof(err_buff));
136+
const char *err = strerror_r(saveno, err_buff, sizeof(err_buff));
137137
if (errno == ERANGE) {
138138
postfix = "[truncated...]";
139139
}

test/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,13 @@ function(build_umf_test)
5656
SRCS ${ARG_SRCS}
5757
LIBS ${TEST_LIBS})
5858

59+
if(NOT MSVC)
60+
# Suppress 'cast discards const qualifier' warnings. Parametrized GTEST
61+
# tests retrieve arguments using 'GetParam()', which applies a 'const'
62+
# qualifier often discarded in the test scenarios.
63+
target_compile_options(${TEST_TARGET_NAME} PRIVATE -Wno-cast-qual)
64+
endif()
65+
5966
target_link_directories(${TEST_TARGET_NAME} PRIVATE ${LIB_DIRS})
6067

6168
target_include_directories(

0 commit comments

Comments
 (0)