[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++] Remove unneeded tests.As suggested in D120742.
[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++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES.The logic here is that we are disabling *only* things in `std::ranges::`.Everything in `std::` is permitted, including `de
[libc++] Guard much of std::ranges under _LIBCPP_HAS_NO_INCOMPLETE_RANGES.The logic here is that we are disabling *only* things in `std::ranges::`.Everything in `std::` is permitted, including `default_sentinel`, `contiguous_iterator`,`common_iterator`, `projected`, `swappable`, and so on. Then, we includeanything from `std::ranges::` that is required in order to make those thingswork: `ranges::swap`, `ranges::swap_ranges`, `input_range`, `ranges::begin`,`ranges::iter_move`, and so on. But then that's all. Everything else (includingnotably all of the "views" and the `std::views` namespace itself) is stilllocked up behind `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`.Differential Revision: https://reviews.llvm.org/D118736
[libc++] Fix LWG3533 "Make `base() const&` consistent..."Fixed in counted_iterator and transform_view::iterator.The LWG issue also affected elements_view::iterator, but we haven'timplemented that
[libc++] Fix LWG3533 "Make `base() const&` consistent..."Fixed in counted_iterator and transform_view::iterator.The LWG issue also affected elements_view::iterator, but we haven'timplemented that one yet, and whoever does implement it will getthe fix for free if they just follow the working draft's wording.Drive-by stop calling `.base()` on test iterators in the test,and improve the transform_view::iterator/sentinel tests.Differential Revision: https://reviews.llvm.org/D117329
[libc++] Remove incorrect default constructor in cpp17_input_iteratorAFAICT, Cpp17InputIterators are not required to be default constructible,since that requirement is added in Cpp17ForwardIterato
[libc++] Remove incorrect default constructor in cpp17_input_iteratorAFAICT, Cpp17InputIterators are not required to be default constructible,since that requirement is added in Cpp17ForwardIterator. Hence, ourarchetype for Cpp17InputIterator should not be default constructible.Removing that constructor has a ripple effect on a couple of tests thatwere making incorrect assumptions. Notably:- Some tests were using cpp17_input_iterator as a sentinel for itself. That is not valid, because a cpp17_input_iterator is not semiregular anymore after the change (and hence it doesn't satisfy sentinel_for).- Some tests were using a stride-counted cpp17_input_iterator as the sentinel for a range. This doesn't work anymore because of the problem above, so these tests were changed not to check stride counts for input iterators.- Some tests were default constructing cpp17_input_iterator when a simple alternative was available -- those have been changed to use that alternative.Differential Revision: https://reviews.llvm.org/D115806
[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 `counted_iterator`.Differential Revision: https://reviews.llvm.org/D106205