[libc++] Fix a hard error in `contiguous_iterator<NoOperatorArrowIter>`.Evaluating `contiguous_iterator` on an iterator that satisfies all theconstraints except the `to_address` constraint and doe
[libc++] Fix a hard error in `contiguous_iterator<NoOperatorArrowIter>`.Evaluating `contiguous_iterator` on an iterator that satisfies all theconstraints except the `to_address` constraint and doesn't have`operator->` defined results in a hard error. This is becauseinstantiating `to_address` ends up instantiating templatesdependent on the given type which might lead to a hard error evenin a SFINAE context.Differential Revision: https://reviews.llvm.org/D130835(cherry picked from commit 52d4c5016c4f8eca6abe84f658fc5f358bdfd2d0)
show more ...
[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
[libc++] Move libc++ specific tests to `libcxx/test/libcxx`This is consistent with what we've been doing forever.
[libc++] Clarify the name of Lit features related to standard library selectionBefore this patch, we had features named 'libc++', 'libstdc++' and'msvc' to describe the three implementations that u
[libc++] Clarify the name of Lit features related to standard library selectionBefore this patch, we had features named 'libc++', 'libstdc++' and'msvc' to describe the three implementations that use our test suite.This patch renames them to 'stdlib=libc++', 'stdlib=libstdc++', etcto avoid confusion between MSVC's STL and the MSVC compiler (or Clangin MSVC mode).Furthermore, this prepares the terrain for adding support for additional"implementations" to the test suite. Basically, I'd like to be able totreat Apple's libc++ differently from LLVM's libc++ for the purpose oftesting, because those effectively behave in different ways in some aspects.
[libcxx] contiguous iterator concept: don't require pointer or complete element types`contiguous_iterator` requires the iterator type passed is either apointer type or that the element type of the
[libcxx] contiguous iterator concept: don't require pointer or complete element types`contiguous_iterator` requires the iterator type passed is either apointer type or that the element type of the iterator is a completeobject type. These constraints are not part of the current wording indefining the `contiguous_iterator` concept - adjust the concept toreflect this.Inspired from discussion at https://reviews.llvm.org/D108645.Reviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D108855
[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++] [test] Fix some GCC 11 errors/warnings in these tests. NFCI.Differential Revision: https://reviews.llvm.org/D104228
[libcxx][ranges] Add `contiguous_iterator`.Differential Revision: https://reviews.llvm.org/D101396
[libcxx][ranges] Add `random_access_{iterator,range}`.Differential Revision: https://reviews.llvm.org/D101316