llvm-project/libcxx/test/std/utilities
Christopher Di Bella 546449938a [libcxx][optional] adds missing constexpr operations
Makes the following operations constexpr:
  * `std::swap(optional, optional)`
  * `optional(optional<U> const&)`
  * `optional(optional<U>&&)`
  * `~optional()`
  * `operator=(nullopt_t)`
  * `operator=(U&&)`
  * `operator=(optional<U> const&)`
  * `operator=(optional<U>&&)`
  * `emplace(Args&&...)`
  * `emplace(initializer_list<U>, Args&&...)`
  * `swap(optional&)`
  * `reset()`

P2231 has been accepted by plenary, with the committee recommending
implementers retroactively apply to C++20. It's necessary for us to
implement _`semiregular-box`_ and _`non-propagating-cache`_, both of
which are required for ranges (otherwise we'll need to reimplement
`std::optional` with these members `constexpr`ified).

Differential Revision: https://reviews.llvm.org/D102119
2021-06-10 05:52:47 +00:00
..
allocator.adaptor [libc++] Remove the c++98 Lit feature from the test suite 2020-06-03 09:37:22 -04:00
any [libc++] Move handling of the target triple to the DSL 2021-05-08 11:10:53 -04:00
charconv [libc++] Move handling of the target triple to the DSL 2021-05-08 11:10:53 -04:00
format [libc++] Move handling of the target triple to the DSL 2021-05-08 11:10:53 -04:00
function.objects [libc++] [P0619] Hide not1 and not2 under _LIBCPP_ENABLE_CXX20_REMOVED_NEGATORS. 2021-05-25 16:57:16 -04:00
intseq [libc++] NFCI: Use Lit features to disable tests instead of #if 2020-10-16 08:35:34 -04:00
memory [libc++] Update all the pre-defined iterator types for C++20 2021-05-31 11:59:40 -04:00
meta [libcxx] [test] Add UNSUPPORTED: msvc in a couple verify.cpp tests 2021-05-31 10:58:32 +03:00
optional [libcxx][optional] adds missing constexpr operations 2021-06-10 05:52:47 +00:00
ratio [libc++] Remove workaround for .fail.cpp tests that don't have clang-verify markup 2020-04-15 10:53:37 -04:00
smartptr/unique.ptr [libc++][nfc] Test std::unique_ptr self move assignment. 2021-06-09 20:43:12 +02:00
template.bitset [libcxx][test] Silence false positive MSVC /analyze warning 2021-01-29 10:05:14 -08:00
time [libcxx] Define LIBCPP_HAS_TIMESPEC_GET for MSVC configurations 2021-05-31 22:13:22 +03:00
tuple [libc++] NFC: Add regression tests for some <tuple> PRs that have been fixed 2021-06-08 12:17:10 -04:00
type.index [libc++] Rename the -fno-rtti Lit feature to just no-rtti 2020-09-29 16:29:44 -04:00
utilities.general Support tests in freestanding 2019-02-04 20:31:13 +00:00
utility [libc++] s/_LIBCPP_NO_HAS_CHAR8_T/_LIBCPP_HAS_NO_CHAR8_T/g 2021-04-21 12:49:07 -04:00
utility.requirements [libc++] Remove useless nothing_to_do.pass.cpp tests 2020-04-03 13:48:34 -04:00
variant [libc++] Move handling of the target triple to the DSL 2021-05-08 11:10:53 -04:00