[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++] Removes base member from tests.Change the tests to use the base friend function instead of members.Also changed some types to have a base friends instead of members.Reviewed By: #libc,
[libc++] Removes base member from tests.Change the tests to use the base friend function instead of members.Also changed some types to have a base friends instead of members.Reviewed By: #libc, ldionne, QuuxplusoneDifferential Revision: https://reviews.llvm.org/D120742
[libc++] [ranges] ref_view and empty_view are borrowed ranges. Normalize borrowed_range tests.Differential Revision: https://reviews.llvm.org/D118164
[libc++] [ranges] Implement P2415R2 owning_view."What is a view?"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.htmlhttps://github.com/cplusplus/draft/pull/5010/filesThis was a
[libc++] [ranges] Implement P2415R2 owning_view."What is a view?"http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.htmlhttps://github.com/cplusplus/draft/pull/5010/filesThis was a late-breaking (Oct 2021) change to C++20.The only thing missing from this patch is that we're supposedto bump the feature-test macro from #define __cpp_lib_ranges 202106Lto #define __cpp_lib_ranges 202110Lbut we can't do that because we don't implement all of 202106 Ranges yet.Differential Revision: https://reviews.llvm.org/D116894
[libc++] [test] Simplify some ranges tests.Eliminate a bogus operator== overload.Also, check more intermediate steps in the logic we're checking here.Some of this simplification is possible only
[libc++] [test] Simplify some ranges tests.Eliminate a bogus operator== overload.Also, check more intermediate steps in the logic we're checking here.Some of this simplification is possible only now that we've implementedmore of <ranges>.Differential Revision: https://reviews.llvm.org/D116002
[libc++] [test] Simplify sentinel_wrapper and sized_sentinel.Remove `s.base()`; every test that wants to get the base of a "test sentinel"should use the ADL `base(s)` from now on.Differential Re
[libc++] [test] Simplify sentinel_wrapper and sized_sentinel.Remove `s.base()`; every test that wants to get the base of a "test sentinel"should use the ADL `base(s)` from now on.Differential Revision: https://reviews.llvm.org/D115766
[libc++] [test] s/ContiguousView/MoveOnlyView/g. NFCI.The unique (ha!) thing about this range type is that it's move-only.Its contiguity is unsurprising (most of our test ranges are contiguous).D
[libc++] [test] s/ContiguousView/MoveOnlyView/g. NFCI.The unique (ha!) thing about this range type is that it's move-only.Its contiguity is unsurprising (most of our test ranges are contiguous).Discussed in D111231 but committed separately for clarity.
[libc++] [test] Change a lot of free begin/end pairs to members. NFCI.If you have a `begin() const` member, you don't need a `begin()` memberunless you want it to do something different (e.g. have
[libc++] [test] Change a lot of free begin/end pairs to members. NFCI.If you have a `begin() const` member, you don't need a `begin()` memberunless you want it to do something different (e.g. have a different returntype). So in general, //view// types don't need `begin()` non-const members.Also, static_assert some things about the types in "types.h", so that wedon't accidentally break those properties under refactoring.Differential Revision: https://reviews.llvm.org/D111231
[libc++] Add the std::views::common range adaptorDifferential Revision: https://reviews.llvm.org/D110433
[libc++] Refactor the tests for common_view to reduce duplication
[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
[libc++] Disable incomplete library features.Adds a new CMake option to disable the usage of incomplete headers.These incomplete headers are not guaranteed to be ABI stable. Thisoption is intende
[libc++] Disable incomplete library features.Adds a new CMake option to disable the usage of incomplete headers.These incomplete headers are not guaranteed to be ABI stable. Thisoption is intended to be used by vendors so they can avoid their usersfrom code that's not ready for production usage.The option is enabled by default.Differential Revision: https://reviews.llvm.org/D106763
[libcxx][nfc] Global `constexpr friend` -> `friend constexpr`.
[libcxx][ranges] Add `ranges::common_view`.Differential Revision: https://reviews.llvm.org/D105753