GCC 10 warnings in SIMD code
With a pre-release version of GCC 10 I get a bunch of warnings like the following two. Not sure whether they are false positives or not, I get them with -Wall
. Is there a fix possible or not needed?
[ 27%] Building CXX object dune/common/test/CMakeFiles/debugalignsimdtest.dir/debugalignsimd_BinaryOpsScalarVector_double.cc.o
In file included from /home/gruenich/dune/complete/dune-common/build-cmake/dune/common/test/debugalignsimd_BinaryOpsScalarVector_double.cc:6:
/home/gruenich/dune/complete/dune-common/dune/common/simd/test.hh: In lambda function:
/home/gruenich/dune/complete/dune-common/dune/common/simd/test.hh:2070:36: warning: ‘void Dune::Simd::UnitTest::checkVector()’ is deprecated: "Call check() instead, and explicitly instantiate " "checkType() and friends instead" [-Wdeprecated-declarations]
2070 | this->template checkVector<W, Rebinds, Prune>();
| ^
/home/gruenich/dune/complete/dune-common/dune/common/simd/test.hh:2057:10: note: declared here
2057 | void UnitTest::checkVector()
| ^~~~~~~~
and
/home/gruenich/dune/complete/dune-common/dune/common/simd/loop.hh:38:20: warning: requested alignment ‘0’ is not a positive power of 2 [-Wattributes] /home/gruenich/dune/complete/dune-common/dune/common/simd/loop.hh: In instantiation of ‘class Dune::LoopSIMD<Dune::LoopSIMD<bool, 2>, 5>’: /home/gruenich/dune/complete/dune-common/dune/common/simd/test.hh:1585:38: required from ‘void Dune::Simd::UnitTest::checkCond() [with V = Dune::LoopSIMD<Dune::LoopSIMD<char, 2>, 5>]’ /home/gruenich/dune/complete/dune-common/dune/common/simd/test.hh:1931:19: required from ‘void Dune::Simd::UnitTest::checkNonOps() [with V = Dune::LoopSIMD<Dune::LoopSIMD<char, 2>, 5>]’ /home/gruenich/dune/complete/dune-common/dune/common/simd/test.hh:1907:21: required from ‘void Dune::Simd::UnitTest::checkType() [with V = Dune::LoopSIMD<Dune::LoopSIMD<char, 2>, 5>]’ /home/gruenich/dune/complete/dune-common/build-cmake/dune/common/simd/test/looptest_vector_Type_char.cc:12:72: required from here