This adds the remainging noexcept causes required for this cause to meet the spec as dicussed last year and documented here: http://cplusplus.github.io/LWG/lwg-active.html#2899.
Signed-off-by: Nicholas Krause <xerofo...@gmail.com> --- libstdc++-v3/include/std/tuple | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libstdc++-v3/include/std/tuple b/libstdc++-v3/include/std/tuple index 56b97c25eed..d17512a1b7e 100644 --- a/libstdc++-v3/include/std/tuple +++ b/libstdc++-v3/include/std/tuple @@ -214,6 +214,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION enable_if<sizeof...(_Tail) == sizeof...(_UTail)>::type> explicit constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail) + noexcept(__and_<is_nothrow_move_constructible<_Head>, + is_nothrow_move_constructible<_Inherited>>::value) : _Inherited(std::forward<_UTail>(__tail)...), _Base(std::forward<_UHead>(__head)) { } @@ -237,6 +239,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template<typename _UHead, typename... _UTails> constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) + noexcept(__and_<is_nothrow_move_constructible<_Head>, + is_nothrow_move_constructible<_Inherited>>::value) : _Inherited(std::move (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), _Base(std::forward<_UHead> -- 2.17.1