[all-commits] [llvm/llvm-project] 53406f: [libc++] Guard much of std::ranges under _LIBCPP_H...
Quuxplusone via All-commits
all-commits at lists.llvm.org
Tue Feb 15 07:39:17 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 53406fb691db38b21decf233e091f648f8317b2d
https://github.com/llvm/llvm-project/commit/53406fb691db38b21decf233e091f648f8317b2d
Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
Date: 2022-02-15 (Tue, 15 Feb 2022)
Changed paths:
M libcxx/include/__algorithm/in_in_out_result.h
M libcxx/include/__algorithm/in_out_result.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/distance.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iter_swap.h
M libcxx/include/__iterator/next.h
M libcxx/include/__iterator/prev.h
M libcxx/include/__memory/concepts.h
M libcxx/include/__memory/ranges_construct_at.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__ranges/all.h
M libcxx/include/__ranges/common_view.h
M libcxx/include/__ranges/concepts.h
M libcxx/include/__ranges/copyable_box.h
M libcxx/include/__ranges/counted.h
M libcxx/include/__ranges/dangling.h
M libcxx/include/__ranges/data.h
M libcxx/include/__ranges/drop_view.h
M libcxx/include/__ranges/empty.h
M libcxx/include/__ranges/empty_view.h
M libcxx/include/__ranges/enable_borrowed_range.h
M libcxx/include/__ranges/enable_view.h
M libcxx/include/__ranges/iota_view.h
M libcxx/include/__ranges/join_view.h
M libcxx/include/__ranges/non_propagating_cache.h
M libcxx/include/__ranges/owning_view.h
M libcxx/include/__ranges/range_adaptor.h
M libcxx/include/__ranges/rbegin.h
M libcxx/include/__ranges/ref_view.h
M libcxx/include/__ranges/rend.h
M libcxx/include/__ranges/reverse_view.h
M libcxx/include/__ranges/single_view.h
M libcxx/include/__ranges/size.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__ranges/take_view.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__ranges/view_interface.h
M libcxx/include/ranges
M libcxx/include/span
M libcxx/include/string_view
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_sentinel_for.compile.pass.cpp
A libcxx/test/libcxx/ranges/has-no-incomplete-ranges.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.access/end.incomplete_type.pass.cpp
M libcxx/test/libcxx/ranges/range.utility.helpers/different_from.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.utility.helpers/has_arrow.compile.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_in_result.pass.cpp
M libcxx/test/std/containers/views/span.cons/deduct.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/constraints.verify.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/lwg3664.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/constraints.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator_count.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator_count_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/constraints.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator_count.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator_count_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.move/iter_move.nodiscard.verify.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/assign.pass.cpp
M libcxx/test/std/ranges/range.access/begin.pass.cpp
M libcxx/test/std/ranges/range.access/end.pass.cpp
M libcxx/test/std/ranges/range.req/range.range/borrowed_range.compile.pass.cpp
M libcxx/test/std/ranges/range.req/range.range/borrowed_range.subsumption.compile.pass.cpp
M libcxx/test/std/ranges/range.req/range.range/enable_borrowed_range.compile.pass.cpp
M libcxx/test/std/strings/string.view/string.view.cons/from_iterator_sentinel.pass.cpp
M libcxx/test/std/strings/string.view/string.view.deduct/range.pass.cpp
M libcxx/test/std/utilities/function.objects/range.cmp/equal_to.pass.cpp
M libcxx/test/std/utilities/function.objects/range.cmp/greater.pass.cpp
M libcxx/test/std/utilities/function.objects/range.cmp/greater_equal.pass.cpp
M libcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp
M libcxx/test/std/utilities/function.objects/range.cmp/less_equal.pass.cpp
M libcxx/test/std/utilities/function.objects/range.cmp/not_equal_to.pass.cpp
M libcxx/test/support/test_iterators.h
M libcxx/test/support/test_macros.h
Log Message:
-----------
[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 include
anything from `std::ranges::` that is required in order to make those things
work: `ranges::swap`, `ranges::swap_ranges`, `input_range`, `ranges::begin`,
`ranges::iter_move`, and so on. But then that's all. Everything else (including
notably all of the "views" and the `std::views` namespace itself) is still
locked up behind `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`.
Differential Revision: https://reviews.llvm.org/D118736
Commit: db33373596ac25f177d494aca4f46cc69c003d7d
https://github.com/llvm/llvm-project/commit/db33373596ac25f177d494aca4f46cc69c003d7d
Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
Date: 2022-02-15 (Tue, 15 Feb 2022)
Changed paths:
M libcxx/test/std/algorithms/algorithms.results/in_out_result.compile.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_out_result.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_at.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp
Log Message:
-----------
[libc++] [test] Split "UNSUPPORTED: libcpp-no-concepts, libcpp-has-no-incomplete-ranges" onto two lines. NFC.
Compare: https://github.com/llvm/llvm-project/compare/149ad3d554c6...db33373596ac
More information about the All-commits
mailing list