diff --git a/ff/CMakeLists.txt b/ff/CMakeLists.txt index f4a1194..857a8fd 100644 --- a/ff/CMakeLists.txt +++ b/ff/CMakeLists.txt @@ -35,6 +35,11 @@ set(CMAKE_C_EXTENSIONS ON) set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror \ -Wshadow -Wunused-parameter -Wformat -Wpointer-arith -Wundef") +include(CheckCCompilerFlag) +check_c_compiler_flag(-fzero-init-padding-bits HAS_ZERO_INIT_PADDING_BITS) +if (HAS_ZERO_INIT_PADDING_BITS) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fzero-init-padding-bits=unions") +endif() set(CMAKE_C_FLAGS_RELEASE "-O3") set(CMAKE_EXPORT_COMPILE_COMMANDS ON) if(NOT CMAKE_BUILD_TYPE) diff --git a/ubloxcfg/CMakeLists.txt b/ubloxcfg/CMakeLists.txt index 74b5c83..4ac77d7 100644 --- a/ubloxcfg/CMakeLists.txt +++ b/ubloxcfg/CMakeLists.txt @@ -35,6 +35,11 @@ set(CMAKE_C_EXTENSIONS OFF) set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wpedantic -Werror \ -Wshadow -Wunused-parameter -Wformat -Wpointer-arith -Wundef") +include(CheckCCompilerFlag) +check_c_compiler_flag(-fzero-init-padding-bits HAS_ZERO_INIT_PADDING_BITS) +if (HAS_ZERO_INIT_PADDING_BITS) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fzero-init-padding-bits=unions") +endif() set(CMAKE_C_FLAGS_RELEASE "-O3") set(CMAKE_EXPORT_COMPILE_COMMANDS ON) if(NOT CMAKE_BUILD_TYPE)