From e02f88a11c31f33b0bdde1f0a46086b7901087b7 Mon Sep 17 00:00:00 2001 From: Daan Date: Wed, 20 Oct 2021 09:55:03 -0700 Subject: [PATCH] Fix warnings with g++-11 compilation --- CMakeLists.txt | 5 ++++- src/arena.c | 2 +- src/region.c | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b872e375..c46ffdac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -166,7 +166,10 @@ endif() # Compiler flags if(CMAKE_C_COMPILER_ID MATCHES "AppleClang|Clang|GNU") - list(APPEND mi_cflags -Wall -Wextra -Wno-unknown-pragmas -Wstrict-prototypes -fvisibility=hidden) + list(APPEND mi_cflags -Wall -Wextra -Wno-unknown-pragmas -fvisibility=hidden) + if(NOT MI_USE_CXX) + list(APPEND mi_cflags -Wstrict-prototypes) + endif() if(CMAKE_C_COMPILER_ID MATCHES "GNU") list(APPEND mi_cflags -Wno-invalid-memory-model) endif() diff --git a/src/arena.c b/src/arena.c index 9d717e9e..5e883b28 100644 --- a/src/arena.c +++ b/src/arena.c @@ -310,7 +310,7 @@ bool mi_manage_os_memory(void* start, size_t size, bool is_committed, bool is_la // the bitmaps are already zero initialized due to os_alloc // initialize committed bitmap? if (arena->blocks_committed != NULL && is_committed) { - memset(arena->blocks_committed, 0xFF, fields*sizeof(mi_bitmap_field_t)); + memset((void*)arena->blocks_committed, 0xFF, fields*sizeof(mi_bitmap_field_t)); // cast to void* to avoid atomic warning } // and claim leftover blocks if needed (so we never allocate there) ptrdiff_t post = (fields * MI_BITMAP_FIELD_BITS) - bcount; diff --git a/src/region.c b/src/region.c index 2f68b140..d9232450 100644 --- a/src/region.c +++ b/src/region.c @@ -463,7 +463,7 @@ void _mi_mem_collect(mi_os_tld_t* tld) { uint8_t* start = (uint8_t*)mi_atomic_load_ptr_acquire(uint8_t,®ions[i].start); size_t arena_memid = mi_atomic_load_relaxed(®ions[i].arena_memid); uintptr_t commit = mi_atomic_load_relaxed(®ions[i].commit); - memset(®ions[i], 0, sizeof(mem_region_t)); + memset((void*)®ions[i], 0, sizeof(mem_region_t)); // cast to void* to avoid atomic warning // and release the whole region mi_atomic_store_release(®ion->info, (uintptr_t)0); if (start != NULL) { // && !_mi_os_is_huge_reserved(start)) {