xsimd icon indicating copy to clipboard operation
xsimd copied to clipboard

ppc64el fails with clang : too few template arguments for class template 'batch'

Open drew-parsons opened this issue 5 months ago • 0 comments

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

drew-parsons avatar Jan 21 '24 15:01 drew-parsons