[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++] Remove conditional noexcepts from view_interface.As suggested in D117966.These conditional noexcepts are *permitted* by the Standard (as longas there were no mistakes in them, I guess);
[libc++] Remove conditional noexcepts from view_interface.As suggested in D117966.These conditional noexcepts are *permitted* by the Standard (as longas there were no mistakes in them, I guess); but not *mandated*.The Standard doesn't put any noexcept-specifications on these member functions.The same logic would apply to `transform_view::iterator::operator*`and `transform_view::iterator::operator[]`, but the Standard mandatesconditional noexcept on `iter_move(transform_view::iterator)`, andI think it doesn't make much sense to say "moving from this iteratoris conditionally noexcept but not-moving from it is noexcept(false),"so I'm leaving transform_view alone for now.Differential Revision: https://reviews.llvm.org/D119374
[libcxx][test] tests for strengthened `noexcept` are non-portableDifferential Revision: https://reviews.llvm.org/D117966
[libc++] Implement LWG3549: view_interface need not inherit from view_baseImplement LWG3549 by making `view_interface` not inherit from `view_base`. Typesare still views if they have a public and
[libc++] Implement LWG3549: view_interface need not inherit from view_baseImplement LWG3549 by making `view_interface` not inherit from `view_base`. Typesare still views if they have a public and unambiguous derivation from`view_interface`, so adjust the `enable_view` machinery as such to account forthat.Differential Revision: https://reviews.llvm.org/D117714
[libcxx][test] view_interface need not derive from view_base... after LWG-3549.Differential Revision: https://reviews.llvm.org/D117608
[libc++][test] Fix invalid test for views::view_interfaceThe type `MoveOnlyForwardRange` violates the precondition stated in`view.interface.general`. Specifically, the type passed to`view_interfa
[libc++][test] Fix invalid test for views::view_interfaceThe type `MoveOnlyForwardRange` violates the precondition stated in`view.interface.general`. Specifically, the type passed to`view_interface` shall model the `view` concept. In turn, this requires thetype to satisfy `movable` concept (and others), but this type`MoveOnlyForwardRange` does not satisfy the `movable` concept.Add a move assignment operator so that `MoveOnlyForwardRange` satisfies the`movable` concept. While we're here, ensure the neighboring types that inheritfrom `view_interface` also satisfy the `view` concept to avoid similar issues.Fixes https://bugs.llvm.org/show_bug.cgi?id=50720Reviewed By: Quuxplusone, Mordante, #libcDifferential Revision: https://reviews.llvm.org/D112631
[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
[libc++] [test] Fix some GCC 11 errors/warnings in these tests. NFCI.Differential Revision: https://reviews.llvm.org/D104228
[libcxx] Implement view.interface.This will unblock work on ranges::view. Based on D101396.Refs http://eel.is/c++draft/view.interface.Differential Revision: https://reviews.llvm.org/D101737