[PATCH] Add noexcept to tuple<> and simplify tuple<T1,T2> noexcept-specifiers

Jonathan Wakely jwakely@redhat.com
Mon Jun 3 09:46:00 GMT 2019


On 03/06/19 09:44 +0000, Szabolcs Nagy wrote:
>On 31/05/2019 15:58, Jonathan Wakely wrote:
>>     * include/std/tuple (tuple<>): Add noexcept to allocator-extended
>>     constructors.
>>     (tuple<T1, T2>::__nothrow_default_constructible()): New helper
>>     function.
>>     (tuple<T1, T2>::tuple(), explicit tuple<T1, T2>::tuple()): Use helper.
>>
>> Tested powerpc64le-linux, committed to trunk.
>
>on aarch64* i see
>
>FAIL: g++.dg/cpp0x/noexcept15.C  -std=c++14 (test for excess errors)
>
>In file included from /S/gcc/testsuite/g++.dg/cpp0x/noexcept15.C:4:
>/B/aarch64-none-linux-gnu/libstdc++-v3/include/type_traits: In instantiation of 'struct std::is_nothrow_move_constructible<Blob>':
>/S/gcc/testsuite/g++.dg/cpp0x/noexcept15.C:14:5:   required from 'single<Tp>::single(single<Tp>&&) [with Tp = Blob]'
>/S/gcc/testsuite/g++.dg/cpp0x/noexcept15.C:23:51:   required from 'constexpr single<typename std::decay<_Tp>::type> make_single(Tp&&) [with Tp =
>Blob&; typename std::decay<_Tp>::type = Blob]'
>/S/gcc/testsuite/g++.dg/cpp0x/noexcept15.C:31:18:   required from here
>/B/aarch64-none-linux-gnu/libstdc++-v3/include/type_traits:1111:52: error: static assertion failed: template argument must be a complete class
>or an unbounded array

Yes, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90695





More information about the Gcc-patches mailing list