xsimd icon indicating copy to clipboard operation
xsimd copied to clipboard

Tests fail to build on AArch64 with ENABLE_XTL_COMPLEX

Open jcowgill opened this issue 3 years ago • 0 comments

Building the tests on AArch64 with the ENABLE_XTL_COMPLEX option enabled doesn't work for me:

$ cmake .. -DCMAKE_TOOLCHAIN_FILE=<path to toolchain> -DBUILD_TESTS=ON -DENABLE_XTL_COMPLEX=ON -DDOWNLOAD_GTEST=ON -DTARGET_ARCH=armv8-a -G Ninja
$ ninja
./include/xsimd/types/xsimd_neon_complex.hpp: At global scope:
../include/xsimd/types/xsimd_neon_complex.hpp:369:15: error: ‘template<class X> class xsimd::simd_complex_batch_bool’ used without template arguments
  369 |         using simd_complex_batch_bool::simd_complex_batch_bool;
      |               ^~~~~~~~~~~~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp: In constructor ‘xsimd::batch_bool<xtl::xcomplex<float, float, i3ec>, 4>::batch_bool(bool, bool, bool, bool)’:
../include/xsimd/types/xsimd_neon_complex.hpp:374:15: error: class ‘xsimd::batch_bool<xtl::xcomplex<float, float, i3ec>, 4>’ does not have any field named ‘simd_complex_batch_bool’
  374 |             : simd_complex_batch_bool(real_batch(b0, b1, b2, b3))
      |               ^~~~~~~~~~~~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp: At global scope:
../include/xsimd/types/xsimd_neon_complex.hpp:410:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
  410 |         using base_type::base_type;
      |                          ^~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:419:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
  419 |         using base_type::load_aligned;
      |                          ^~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:420:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
  420 |         using base_type::load_unaligned;
      |                          ^~~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:421:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
  421 |         using base_type::store_aligned;
      |                          ^~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:422:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
  422 |         using base_type::store_unaligned;
      |                          ^~~~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:442:17: error: no declaration matches ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::self_type& xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::load_aligned(const value_type*)’
  442 |     inline auto batch<xtl::xcomplex<float, float, i3ec>, 4>::load_aligned(const value_type* src) -> self_type&
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:427:20: note: candidates are: ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::self_type& xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::load_aligned(const std::complex<double>*)’
  427 |         self_type& load_aligned(const std::complex<double>* src);
      |                    ^~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:424:20: note:                 ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::self_type& xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::load_aligned(const std::complex<float>*)’
  424 |         self_type& load_aligned(const std::complex<float>* src);
      |                    ^~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:399:11: note: ‘class xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’ defined here
  399 |     class batch<xtl::xcomplex<float, float, i3ec>, 4>
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[lots more errors trimmed]

I'm using ARM's cross GCC 9.2.1 compiler and xsimd 7.4.9

jcowgill avatar Nov 10 '20 23:11 jcowgill