From dfbb1f275e46e7de721964e3ba5f13e837f8e48d Mon Sep 17 00:00:00 2001 From: ls232920 <laurent.soulier@cea.fr> Date: Fri, 6 Oct 2023 12:26:12 +0000 Subject: [PATCH] [BUILD] adjusting strict aliasing compilation options, fixing an include file error --- CMakeLists.txt | 6 +++++- include/aidge/operator/Scaling.hpp | 2 +- unit_tests/CMakeLists.txt | 10 +++++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ef8892ecc..baf4cf487 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,13 +84,17 @@ set(SANITIZE_FLAGS) set(SANITIZE_MSVC_FLAGS) endif() +set(STRICT_ALIASING_FLAGS -fstrict-aliasing -Wstrict-aliasing=2) + # -fvisibility=hidden required by pybind11 target_compile_options(${module_name} PUBLIC $<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>: -fvisibility=hidden>) target_compile_options(${module_name} PRIVATE $<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>: --Wall -Wextra -Wold-style-cast -Winline -pedantic -Werror=narrowing -Wshadow -fstrict-aliasing -Wstrict-aliasing=1 $<$<BOOL:${WERROR}>:-Werror> ${SANITIZE_FLAGS}>) +-Wall -Wextra -Wold-style-cast -Winline -pedantic -Werror=narrowing -Wshadow $<$<BOOL:${WERROR}>:-Werror> ${SANITIZE_FLAGS}>) +target_compile_options(${module_name} PRIVATE +$<$<CXX_COMPILER_ID:GNU>:${STRICT_ALIASING_FLAGS}>) target_compile_options(${module_name} PRIVATE $<$<CXX_COMPILER_ID:MSVC>: /W4 /DWIN32 /D_WINDOWS /GR /EHsc /MP /Zc:__cplusplus /Zc:preprocessor /permissive- ${SANITIZE_MSVC_FLAGS}>) diff --git a/include/aidge/operator/Scaling.hpp b/include/aidge/operator/Scaling.hpp index 532c08690..cf0983c55 100644 --- a/include/aidge/operator/Scaling.hpp +++ b/include/aidge/operator/Scaling.hpp @@ -16,11 +16,11 @@ #include <vector> #include "aidge/backend/OperatorImpl.hpp" +#include "aidge/backend/TensorImpl.hpp" #include "aidge/data/Data.hpp" #include "aidge/data/Tensor.hpp" #include "aidge/graph/Node.hpp" #include "aidge/operator/Operator.hpp" -#include "aidge/utils/Parameter.hpp" #include "aidge/utils/Registrar.hpp" #include "aidge/utils/StaticAttributes.hpp" #include "aidge/utils/Types.h" diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt index 6d7117753..2c33b42f7 100644 --- a/unit_tests/CMakeLists.txt +++ b/unit_tests/CMakeLists.txt @@ -38,9 +38,17 @@ else() set(SANITIZE_MSVC_FLAGS) endif() +set(STRICT_ALIASING_FLAGS -fstrict-aliasing -Wstrict-aliasing=2) + +# -fvisibility=hidden required by pybind11 +target_compile_options(tests${module_name} PUBLIC + $<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>: + -fvisibility=hidden>) target_compile_options(tests${module_name} PRIVATE $<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>: --Wall -Wextra -Wold-style-cast -Winline -pedantic -Werror=narrowing -Wshadow -fstrict-aliasing -Wstrict-aliasing=1 $<$<BOOL:${WERROR}>:-Werror> ${SANITIZE_FLAGS}>) +-Wall -Wextra -Wold-style-cast -Winline -pedantic -Werror=narrowing -Wshadow $<$<BOOL:${WERROR}>:-Werror> ${SANITIZE_FLAGS}>) +target_compile_options(tests${module_name} PRIVATE +$<$<CXX_COMPILER_ID:GNU>:${STRICT_ALIASING_FLAGS}>) target_compile_options(tests${module_name} PRIVATE $<$<CXX_COMPILER_ID:MSVC>: /W4 /DWIN32 /D_WINDOWS /GR /EHsc /MP /Zc:__cplusplus /Zc:preprocessor /permissive- ${SANITIZE_MSVC_FLAGS}>) -- GitLab