diff --git a/include/boost/variant2/variant.hpp b/include/boost/variant2/variant.hpp index 26b5dac..c42429f 100644 --- a/include/boost/variant2/variant.hpp +++ b/include/boost/variant2/variant.hpp @@ -752,9 +752,17 @@ template union variant_storage_impl rest_; +#if defined(BOOST_GCC) && (__GNUC__ >= 14) +# pragma GCC diagnostic push +// False positive in at least GCC 14 with -O3 (via result) +# pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#endif template constexpr variant_storage_impl( mp11::mp_size_t<0>, A&&... a ): first_( std::forward(a)... ) { } +#if defined(BOOST_GCC) && (__GNUC__ >= 14) +# pragma GCC diagnostic pop +#endif template constexpr variant_storage_impl( mp11::mp_size_t, A&&... a ): rest_( mp11::mp_size_t(), std::forward(a)... ) {