]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Implement constexpr std::unique_ptr for C++23 (P2273R3)
authorJonathan Wakely <jwakely@redhat.com>
Mon, 25 Apr 2022 13:24:48 +0000 (14:24 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Mon, 25 Apr 2022 15:16:33 +0000 (16:16 +0100)
commit2fbdcf5e58c83a671b4d00f72b7ef91c462b6fc8
tree430396d99d87c717c2caf14e2385278e90c78f31
parenta5cee0480c10bafa8ed65d49e5cedca23d98d7b7
libstdc++: Implement constexpr std::unique_ptr for C++23 (P2273R3)

libstdc++-v3/ChangeLog:

* include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define
conditionally.
* include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
Define for C++23.
(default_delete, default_delete<T[]>, __uniq_ptr_impl)
(unique_ptr, unique_ptr<T[], D>): Add constexpr to all member
functions.
* include/std/version (__cpp_lib_constexpr_memory): Define new
value for C++23.
* testsuite/20_util/unique_ptr/assign/constexpr.cc: New test.
* testsuite/20_util/unique_ptr/comparison/constexpr.cc: New test.
* testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: New test.
* testsuite/20_util/unique_ptr/creation/constexpr.cc: New test.
* testsuite/20_util/unique_ptr/modifiers/constexpr.cc: New test.
* testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc:
New test.
libstdc++-v3/include/bits/ptr_traits.h
libstdc++-v3/include/bits/unique_ptr.h
libstdc++-v3/include/std/version
libstdc++-v3/testsuite/20_util/unique_ptr/assign/constexpr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/unique_ptr/comparison/constexpr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/unique_ptr/creation/constexpr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/constexpr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc [new file with mode: 0644]