xsimd
xsimd copied to clipboard
ppc64el fails with clang : too few template arguments for class template 'batch'
xsimd 12 is failing to build tests with clang on ppc64el architecture. It was previously fine with xsimd 10. gcc is still passing. Other "unsupported" architectures like s390x are passing,
An except from a test log is
223s cd /tmp/autopkgtest-lxc.1ndnhv8d/downtmp/build.R7D/src/test/run_test_clang/architectures && /usr/bin/clang++ -O3 -DNDEBUG -march=knl -MD -MT architectures/CMakeFiles/test_knl.dir/dummy.cpp.o -MF CMakeFiles/test_knl.dir/dummy.cpp.o.d -o CMakeFiles/test_knl.dir/dummy.cpp.o -c /tmp/autopkgtest-lxc.1ndnhv8d/downtmp/build.R7D/src/test/architectures/dummy.cpp
223s clang: warning: argument unused during compilation: '-march=knl' [-Wunused-command-line-argument]
224s /tmp/autopkgtest-lxc.1ndnhv8d/downtmp/build.R7D/src/test/architectures/dummy.cpp:4:8: error: too few template arguments for class template 'batch'
224s xsimd::batch<int> come_and_get_some(xsimd::batch<int> x, xsimd::batch<int> y)
224s ^
224s /usr/include/xsimd/arch/xsimd_scalar.hpp:30:11: note: template is declared here
224s class batch;
224s ^
224s /tmp/autopkgtest-lxc.1ndnhv8d/downtmp/build.R7D/src/test/architectures/dummy.cpp:4:44: error: too few template arguments for class template 'batch'
224s xsimd::batch<int> come_and_get_some(xsimd::batch<int> x, xsimd::batch<int> y)
224s ^
224s /usr/include/xsimd/arch/xsimd_scalar.hpp:30:11: note: template is declared here
224s class batch;
224s ^
224s /tmp/autopkgtest-lxc.1ndnhv8d/downtmp/build.R7D/src/test/architectures/dummy.cpp:4:65: error: too few template arguments for class template 'batch'
224s xsimd::batch<int> come_and_get_some(xsimd::batch<int> x, xsimd::batch<int> y)
224s ^
224s /usr/include/xsimd/arch/xsimd_scalar.hpp:30:11: note: template is declared here
224s class batch;
224s ^
224s 3 errors generated.
224s make[2]: *** [architectures/CMakeFiles/test_knl.dir/build.make:76: architectures/CMakeFiles/test_knl.dir/dummy.cpp.o] Error 1
224s make[2]: Leaving directory '/tmp/autopkgtest-lxc.1ndnhv8d/downtmp/build.R7D/src/test/run_test_clang'
Are there assumptions used with the batch class for ppc64le or other unsupported architectures that aren't consistent with clang?
armel, for comparison is passing, but isn't trying to compile architectures/dummy.cpp (I'm not sure, is armel considered "unsupported")? s390x is also not compiling architectures/dummy.cpp