diff --git a/CMakeLists.txt b/CMakeLists.txt index ef8892ecc8b60684ca8f44ce011d8f07f4f3616d..baf4cf487a80ae004137240855857ded59ab77c2 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 532c08690d6005ed3dfd92cc4651dfa195cdf803..cf0983c55b02cb937f59cd09ed6be9715667f2ae 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 6d7117753d74af5de976981ceea9c7ccf5f0b368..2c33b42f7262ce0741348c4edb97ed7adf23192f 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}>)