Implement the <tuple> part of C++20 p1032 Misc constexpr bits.
authorEdward Smith-Rowland <3dw4rd@verizon.net>
Sat, 16 Nov 2019 03:16:35 +0000 (03:16 +0000)
committerEdward Smith-Rowland <emsr@gcc.gnu.org>
Sat, 16 Nov 2019 03:16:35 +0000 (03:16 +0000)
commit6d1402f0edf15480a1eb37141bc165cab5bca508
treed4a71d1c0b852e14c0a4887221516e3305aead66
parent97e4a5ee37a81a969a0e52cd94c57750271e543c
Implement the <tuple> part of C++20 p1032 Misc constexpr bits.

2019-11-15  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement the <tuple> part of C++20 p1032 Misc constexpr bits.
* include/std/tuple (_Head_base, _Tuple_impl(allocator_arg_t,...)
(_M_assign, tuple(allocator_arg_t,...), _Inherited, operator=, _M_swap)
(swap, pair(piecewise_construct_t,): Constexpr.
* (__uses_alloc0::_Sink::operator=, __uses_alloc_t): Constexpr.
* testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: New test.
* testsuite/20_util/tuple/constexpr_swap.cc : New test.
* testsuite/20_util/uses_allocator/69293_neg.cc: Extra error for C++20.
* testsuite/20_util/uses_allocator/cons_neg.cc: : Extra error for C++20.

From-SVN: r278331
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/tuple
libstdc++-v3/testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/tuple/constexpr_swap.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc
libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc