[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER > 17. NFCI.All supported compilers that support C++20 now support concepts. So, remove`_LIB_LIBCPP_HAS_NO_CONCEPTS` in favor of `_LIBC
[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER > 17. NFCI.All supported compilers that support C++20 now support concepts. So, remove`_LIB_LIBCPP_HAS_NO_CONCEPTS` in favor of `_LIBCPP_STD_VER > 17`. Similarly inthe tests, remove `// UNSUPPORTED: libcpp-no-concepts`.Differential Revision: https://reviews.llvm.org/D121528
show more ...
[libc++][NFC] Use cpp17_output_iterator in tests.The renames the output_iterator to cpp17_output_iterator. Theseiterators are still used in C++20 so it's not possible to change thecurrent type to
[libc++][NFC] Use cpp17_output_iterator in tests.The renames the output_iterator to cpp17_output_iterator. Theseiterators are still used in C++20 so it's not possible to change thecurrent type to the new C++20 requirements. This is done in a similarfashion as the cpp17_input_iterator.Reviewed By: #libc, Quuxplusone, ldionneDifferential Revision: https://reviews.llvm.org/D117950
[libcxx][test] Remove redundant semiregular checks for CPOsSome individual test files verify the CPO under test satisfies`semiregular` concept. This is redundant since it is already part of the t
[libcxx][test] Remove redundant semiregular checks for CPOsSome individual test files verify the CPO under test satisfies`semiregular` concept. This is redundant since it is already part of the testin verifying whether the entity is indeed a CPO in`libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp`.Differential Revision: https://reviews.llvm.org/D116173
[libc++] [ranges] SFINAE-friendly "write it three times" in views::counted.Before this patch, the new test's `CountedInvocable<int*, int*>`would hard-error instead of SFINAEing and cleanly returni
[libc++] [ranges] SFINAE-friendly "write it three times" in views::counted.Before this patch, the new test's `CountedInvocable<int*, int*>`would hard-error instead of SFINAEing and cleanly returning false.Notice that views::counted specifically does NOT work with pipes;`counted(42)` is ill-formed. This is because `counted`'s first argumentis supposed to be an iterator, not a range.Also, mark `views::counted(it, n)` as [[nodiscard]], and test that.(We have a general policy now that range adaptors are consistentlymarked [[nodiscard]], so that people don't accidentally think thatthey have side effects. This matters mostly for `reverse` and`transform`, arguably `drop`, and just generally let's be consistent.)Differential Revision: https://reviews.llvm.org/D115177
[libcxx][ranges] Move `namespace views` into `namespace ranges` and add an alias.Differential Revision: https://reviews.llvm.org/D108047
[libc++] Remove Lit annotations for unsupported GCC versions from the test suiteSince we officially don't support several older compilers now, we candrop a lot of the markup in the test suite. Thi
[libc++] Remove Lit annotations for unsupported GCC versions from the test suiteSince we officially don't support several older compilers now, we candrop a lot of the markup in the test suite. This helps keep the testsuite simple and makes sure that UNSUPPORTED annotations don't rot.This is the first patch of a series that will remove annotations forcompilers that are now unsupported.Differential Revision: https://reviews.llvm.org/D107787
[libcxx][ranges] Add `views::counted` CPO.Differential Revision: https://reviews.llvm.org/D106923