variant icon indicating copy to clipboard operation
variant copied to clipboard

Fails to build with GCC 15

Open sebastic opened this issue 5 months ago • 0 comments

mapbox variant fails build with GCC 15 as reported in Debian Bug #1114197:

[...]
/usr/include/c++/15/bits/char_traits.h:352:16: error: '((const std::char_traits<char>::char_type*)((char*)&temp + offsetof(boost::variant<int, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >,boo
st::variant<int, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::storage_.boost::aligned_storage<32, 8>::<unnamed>.boost::detail::aligned_storage::aligned_storage_imp<32, 8>::data_)))[16]' may 
be used uninitialized [-Werror=maybe-uninitialized]
  352 |         __c1 = __c2;
      |                ^~~~
In file included from /usr/include/boost/variant.hpp:17,
                 from test/bench_variant.cpp:12:
/usr/include/boost/variant/variant.hpp: In function 'void run_boost_test(std::size_t)':
/usr/include/boost/variant/variant.hpp:2107:21: note: 'temp' declared here
 2107 |             variant temp(rhs);
      |                     ^~~~
[...]
/usr/include/c++/15/bits/basic_string.h:1165:19: error: '*(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)((char*)&temp + offsetof(boost::variant<int, double, std::__cxx11::basic_string<char, std:
:char_traits<char>, std::allocator<char> > >,boost::variant<int, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::storage_.boost::aligned_storage<32, 8>::<unnamed>.boost::detail::aligned_storage
::aligned_storage_imp<32, 8>::data_)).std::__cxx11::basic_string<char>::_M_string_length' may be used uninitialized [-Werror=maybe-uninitialized]
 1165 |         size_type __sz = _M_string_length;
      |                   ^~~~
/usr/include/boost/variant/variant.hpp: In function 'void run_boost_test(std::size_t)':
/usr/include/boost/variant/variant.hpp:2107:21: note: 'temp' declared here
 2107 |             variant temp(rhs);
      |                     ^~~~
[...]
/usr/include/c++/15/bits/basic_string.h:992:24: error: '*(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)((char*)&temp + offsetof(boost::variant<int, double, std::__cxx11::basic_string<char, std::char_t
raits<char>, std::allocator<char> > >,boost::variant<int, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::storage_.boost::aligned_storage<32, 8>::<unnamed>.boost::detail::aligned_storage::align
ed_storage_imp<32, 8>::data_)).std::__cxx11::basic_string<char>::<anonymous>.std::__cxx11::basic_string<char>::<unnamed union>::_M_allocated_capacity' may be used uninitialized [-Werror=maybe-uninitialized]
  992 |             _M_capacity(__str._M_allocated_capacity);
      |             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/variant/variant.hpp: In function 'void run_boost_test(std::size_t)':
/usr/include/boost/variant/variant.hpp:2107:21: note: 'temp' declared here
 2107 |             variant temp(rhs);
      |                     ^~~~
[...]
/usr/include/c++/15/bits/basic_string.h:992:24: error: '*(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)((char*)&temp + offsetof(boost::variant<int, double, std::__cxx11::basic_string<char, std::char_t
raits<char>, std::allocator<char> > >,boost::variant<int, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::storage_.boost::aligned_storage<32, 8>::<unnamed>.boost::detail::aligned_storage::align
ed_storage_imp<32, 8>::data_)).std::__cxx11::basic_string<char>::<anonymous>.std::__cxx11::basic_string<char>::<unnamed union>::_M_allocated_capacity' may be used uninitialized [-Werror=maybe-uninitialized]
  992 |             _M_capacity(__str._M_allocated_capacity);
      |             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/variant/variant.hpp: In function 'void run_boost_test(std::size_t)':
/usr/include/boost/variant/variant.hpp:2107:21: note: 'temp' declared here
 2107 |             variant temp(rhs);
      |                     ^~~~
[...]
/usr/include/c++/15/bits/basic_string.h:282:17: error: '*(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)((char*)&temp + offsetof(boost::variant<int, double, std::__cxx11::basic_string<char, std::
char_traits<char>, std::allocator<char> > >,boost::variant<int, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::storage_.boost::aligned_storage<32, 8>::<unnamed>.boost::detail::aligned_storage:
:aligned_storage_imp<32, 8>::data_)).std::__cxx11::basic_string<char>::_M_string_length' may be used uninitialized [-Werror=maybe-uninitialized]
  282 |             if (_M_string_length > _S_local_capacity)
      |                 ^~~~~~~~~~~~~~~~
/usr/include/boost/variant/variant.hpp: In function 'void run_boost_test(std::size_t)':
/usr/include/boost/variant/variant.hpp:2107:21: note: 'temp' declared here
 2107 |             variant temp(rhs);
      |                     ^~~~
[...]
/usr/include/c++/15/bits/basic_string.h:282:17: error: '*(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)((char*)&temp + offsetof(boost::variant<int, double, std::__cxx11::basic_string<char, std::
char_traits<char>, std::allocator<char> > >,boost::variant<int, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::storage_.boost::aligned_storage<32, 8>::<unnamed>.boost::detail::aligned_storage:
:aligned_storage_imp<32, 8>::data_)).std::__cxx11::basic_string<char>::_M_string_length' may be used uninitialized [-Werror=maybe-uninitialized]
  282 |             if (_M_string_length > _S_local_capacity)
      |                 ^~~~~~~~~~~~~~~~
/usr/include/boost/variant/variant.hpp: In function 'void run_boost_test(std::size_t)':
/usr/include/boost/variant/variant.hpp:2107:21: note: 'temp' declared here
 2107 |             variant temp(rhs);
      |                     ^~~~
[...]

sebastic avatar Sep 05 '25 19:09 sebastic