libsemigroups / HPCombi

Fast combinatorics in C++ using SSE/AVX instruction sets
https://libsemigroups.github.io/HPCombi/
GNU General Public License v3.0
15 stars 7 forks source link

Warnings when compiling libsemigroups with g++-9 #41

Open Joseph-Edwards opened 4 months ago

Joseph-Edwards commented 4 months ago

How to reproduce

On Ubuntu 22.04 inside the libsemigroups folder:

./configure CXX="g++-9"
make test_sims

Output

In file included from /usr/include/c++/9/tuple:39,
                 from /usr/include/c++/9/bits/unique_ptr.h:37,
                 from /usr/include/c++/9/memory:80,
                 from /.../libsemigroups/include/libsemigroups/detail/stl.hpp:26,
                 from tests/test-sims.cpp:19:
/.../libsemigroups/extern/HPCombi/include/hpcombi/builder.hpp: In instantiation of ‘constexpr TPU HPCombi::TPUBuild<TPU>::operator()(std::initializer_list<typename std::remove_reference<decltype (TPU{}[0])>::type>, HPCombi::TPUBuild<TPU>::type_elem) const [with TPU = __vector(16) unsigned char; typename std::remove_reference<decltype (TPU{}[0])>::type = unsigned char; HPCombi::TPUBuild<TPU>::type_elem = unsigned char]’:
/.../libsemigroups/extern/HPCombi/include/hpcombi/epu8_impl.hpp:523:33:   required from here
/usr/include/c++/9/array:94:12: note: ‘using array = struct std::array<unsigned char, 16>’ {aka ‘struct std::array<unsigned char, 16>’} has no user-provided default constructor
   94 |     struct array
      |            ^~~~~
/usr/include/c++/9/array:110:56: note: and the implicitly-defined constructor does not initialize ‘unsigned char std::array<unsigned char, 16>::_M_elems [16]’
  110 |       typename _AT_Type::_Type                         _M_elems;
      |                                                        ^~~~~~~~