Change C/CXX flags

This commit is contained in:
jun 2025-05-14 18:02:15 +02:00
parent 562dcc532d
commit b99434a611
4 changed files with 18 additions and 15 deletions

View File

@ -18,8 +18,8 @@ if (NOT DEFINED CMAKE_DEBUG_POSTFIX)
endif () endif ()
if (NOT DEFINED MSVC) if (NOT DEFINED MSVC)
set(WARNING_FLAGS_C -Wall -Wextra -Wpedantic -Wvla -Wshadow -Wundef -Wmisleading-indentation -Wnull-dereference -Wswitch-default -Wconversion -Wno-sign-conversion -Wdouble-promotion -Wno-unused-function) set(WARNING_FLAGS_C -Wall -Wextra -Wpedantic -Wvla -Wshadow -Wundef -Wmisleading-indentation -Wnull-dereference -Wswitch-default -Wstrict-overflow=5 -Wconversion -Wno-sign-conversion -Wsign-promo -Wcast-align -Wcast-qual -Wdouble-promotion -Wformat=2 -Winit-self -Wdisabled-optimization -Wno-unused-function)
set(WARNING_FLAGS_CXX -Wall -Wextra -Wpedantic -Wvla -Wshadow -Wundef -Wmisleading-indentation -Wnull-dereference -Wshadow -Wundef -Wstrict-overflow=5 -Wsign-promo -Wcast-align -Wcast-qual -Woverloaded-virtual -Wredundant-decls -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wswitch-default -Wno-unused-function) set(WARNING_FLAGS_CXX -Wall -Wextra -Wpedantic -Wvla -Wshadow -Wundef -Wmisleading-indentation -Wnull-dereference -Wswitch-default -Wstrict-overflow=5 -Wconversion -Wno-sign-conversion -Wsign-promo -Wcast-align -Wcast-qual -Wdouble-promotion -Wformat=2 -Winit-self -Wdisabled-optimization -Woverloaded-virtual -Wredundant-decls -Wctor-dtor-privacy -Wno-unused-function)
set(DBG_FLAGS -fsanitize=undefined,address -g3 -glldb -Og) set(DBG_FLAGS -fsanitize=undefined,address -g3 -glldb -Og)
else () else ()
set(WARNING_FLAGS_C /W4) set(WARNING_FLAGS_C /W4)
@ -46,8 +46,8 @@ endif()
message(STATUS "Configure libguf_test...") message(STATUS "Configure libguf_test...")
target_compile_definitions(libguf_test PUBLIC TEST_DATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}/src/test/data/") target_compile_definitions(libguf_test PUBLIC TEST_DATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}/src/test/data/")
target_compile_options(libguf_test PRIVATE ${WARNING_FLAGS_CXX} $<$<CONFIG:Debug>: ${DBG_FLAGS}>) target_compile_options(libguf_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${WARNING_FLAGS_CXX}> $<$<COMPILE_LANGUAGE:C>:${WARNING_FLAGS_C}> $<$<CONFIG:Debug>: ${DBG_FLAGS}>)
target_link_options(libguf_test PRIVATE ${WARNING_FLAGS_CXX} $<$<CONFIG:Debug>: ${DBG_FLAGS}>) target_link_options(libguf_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${WARNING_FLAGS_CXX}> $<$<COMPILE_LANGUAGE:C>:${WARNING_FLAGS_C}> $<$<CONFIG:Debug>: ${DBG_FLAGS}>)
message(STATUS "Configured libguf_test") message(STATUS "Configured libguf_test")
message(STATUS "Configure libguf_example...") message(STATUS "Configure libguf_example...")

View File

@ -49,6 +49,7 @@ GUF_ALLOC_LIBC_KWRDS void *guf_libc_alloc(ptrdiff_t size, void *ctx)
if (alloc_ctx && alloc_ctx->tracker.enabled) { if (alloc_ctx && alloc_ctx->tracker.enabled) {
const bool succ = guf_track_alloc(&alloc_ctx->tracker, size); const bool succ = guf_track_alloc(&alloc_ctx->tracker, size);
GUF_ASSERT(succ); GUF_ASSERT(succ);
(void)succ;
} }
return res; return res;
@ -76,6 +77,7 @@ GUF_ALLOC_LIBC_KWRDS void *guf_libc_realloc(void *ptr, ptrdiff_t old_size, ptrdi
if (alloc_ctx && alloc_ctx->tracker.enabled) { if (alloc_ctx && alloc_ctx->tracker.enabled) {
const bool succ = guf_track_realloc(&alloc_ctx->tracker, old_size, new_size); const bool succ = guf_track_realloc(&alloc_ctx->tracker, old_size, new_size);
GUF_ASSERT(succ); GUF_ASSERT(succ);
(void)succ;
} }
return new_ptr; return new_ptr;
@ -89,6 +91,7 @@ GUF_ALLOC_LIBC_KWRDS void guf_libc_free(void *ptr, ptrdiff_t size, void *ctx)
if (alloc_ctx && alloc_ctx->tracker.enabled) { if (alloc_ctx && alloc_ctx->tracker.enabled) {
const bool succ = guf_track_free(&alloc_ctx->tracker, size); const bool succ = guf_track_free(&alloc_ctx->tracker, size);
GUF_ASSERT(succ); GUF_ASSERT(succ);
(void)succ;
} }
} }

View File

@ -25,8 +25,8 @@ void CkdIntTest::test_ckd()
for (int32_t a = INT8_MIN; a <= INT8_MAX; ++a) { for (int32_t a = INT8_MIN; a <= INT8_MAX; ++a) {
for (int32_t b = INT8_MIN; b <= INT8_MAX; ++b) { for (int32_t b = INT8_MIN; b <= INT8_MAX; ++b) {
const int32_t add_res = a + b; const int32_t add_res = a + b;
const guf_math_ckd_result ckd_add = guf_ckd_add_i8(a, b); const guf_math_ckd_result ckd_add = guf_ckd_add_i8((int8_t)a, (int8_t)b);
TEST_CHECK(ckd_add == guf_ckd_add_i8(b, a)); TEST_CHECK(ckd_add == guf_ckd_add_i8((int8_t)b, (int8_t)a));
if (add_res > INT8_MAX) { if (add_res > INT8_MAX) {
TEST_CHECK(ckd_add == GUF_MATH_CKD_OVERFLOW); TEST_CHECK(ckd_add == GUF_MATH_CKD_OVERFLOW);
int8_t saturated, saturated2; int8_t saturated, saturated2;
@ -71,7 +71,7 @@ void CkdIntTest::test_ckd()
} }
const int32_t sub_res = a - b; const int32_t sub_res = a - b;
const guf_math_ckd_result ckd_sub = guf_ckd_sub_i8(a, b); const guf_math_ckd_result ckd_sub = guf_ckd_sub_i8((int8_t)a, (int8_t)b);
if (sub_res > INT8_MAX) { if (sub_res > INT8_MAX) {
TEST_CHECK(ckd_sub == GUF_MATH_CKD_OVERFLOW); TEST_CHECK(ckd_sub == GUF_MATH_CKD_OVERFLOW);
int8_t saturated; int8_t saturated;
@ -99,8 +99,8 @@ void CkdIntTest::test_ckd()
} }
const int32_t mul_res = a * b; const int32_t mul_res = a * b;
const guf_math_ckd_result ckd_mul = guf_ckd_mul_i8(a, b); const guf_math_ckd_result ckd_mul = guf_ckd_mul_i8((int8_t)a, (int8_t)b);
TEST_CHECK(ckd_mul == guf_ckd_mul_i8(b, a)); TEST_CHECK(ckd_mul == guf_ckd_mul_i8((int8_t)b, (int8_t)a));
if (mul_res > INT8_MAX) { if (mul_res > INT8_MAX) {
TEST_CHECK(ckd_mul == GUF_MATH_CKD_OVERFLOW); TEST_CHECK(ckd_mul == GUF_MATH_CKD_OVERFLOW);
int8_t saturated, saturated2; int8_t saturated, saturated2;
@ -218,7 +218,7 @@ void CkdIntTest::test_ckd_uint()
for (int32_t a = 0; a <= UINT8_MAX; ++a) { for (int32_t a = 0; a <= UINT8_MAX; ++a) {
for (int32_t b = 0; b <= UINT8_MAX; ++b) { for (int32_t b = 0; b <= UINT8_MAX; ++b) {
const int32_t add_res = a + b; const int32_t add_res = a + b;
const guf_math_ckd_result ckd_add = guf_ckd_add_u8(a, b); const guf_math_ckd_result ckd_add = guf_ckd_add_u8((uint8_t)a, (uint8_t)b);
if (add_res > UINT8_MAX) { if (add_res > UINT8_MAX) {
TEST_CHECK(ckd_add == GUF_MATH_CKD_OVERFLOW); TEST_CHECK(ckd_add == GUF_MATH_CKD_OVERFLOW);
uint8_t saturated; uint8_t saturated;
@ -239,7 +239,7 @@ void CkdIntTest::test_ckd_uint()
} }
const int32_t sub_res = a - b; const int32_t sub_res = a - b;
const guf_math_ckd_result ckd_sub = guf_ckd_sub_u8(a, b); const guf_math_ckd_result ckd_sub = guf_ckd_sub_u8((uint8_t)a, (uint8_t)b);
if (sub_res < 0) { if (sub_res < 0) {
TEST_CHECK(ckd_sub == GUF_MATH_CKD_UNDERFLOW); TEST_CHECK(ckd_sub == GUF_MATH_CKD_UNDERFLOW);
uint8_t saturated; uint8_t saturated;
@ -259,7 +259,7 @@ void CkdIntTest::test_ckd_uint()
} }
const int32_t mul_res = a * b; const int32_t mul_res = a * b;
const guf_math_ckd_result ckd_mul = guf_ckd_mul_u8(a, b); const guf_math_ckd_result ckd_mul = guf_ckd_mul_u8((uint8_t)a, (uint8_t)b);
if (mul_res > UINT8_MAX) { if (mul_res > UINT8_MAX) {
TEST_CHECK(ckd_mul == GUF_MATH_CKD_OVERFLOW); TEST_CHECK(ckd_mul == GUF_MATH_CKD_OVERFLOW);
uint8_t saturated; uint8_t saturated;

View File

@ -372,9 +372,9 @@ void DbufCstringTest::test_push_insert_erase(int n, ptrdiff_t start_cap)
for (int i = 1; i <= 8; ++i) { for (int i = 1; i <= 8; ++i) {
test_iter(str_vec, &str_dbuf, i); test_iter(str_vec, &str_dbuf, i);
} }
test_iter(str_vec, &str_dbuf, str_dbuf.size); test_iter(str_vec, &str_dbuf, (int)str_dbuf.size);
test_iter(str_vec, &str_dbuf, str_dbuf.size - 1); test_iter(str_vec, &str_dbuf, (int)str_dbuf.size - 1);
test_iter(str_vec, &str_dbuf, str_dbuf.size + 1); test_iter(str_vec, &str_dbuf, (int)str_dbuf.size + 1);
for (ptrdiff_t i = 0; i < str_dbuf.size; ++i) { for (ptrdiff_t i = 0; i < str_dbuf.size; ++i) {
TEST_CHECK(str_vec.at(i) == *dbuf_heap_cstr_at(&str_dbuf, i)); TEST_CHECK(str_vec.at(i) == *dbuf_heap_cstr_at(&str_dbuf, i));