aboutsummaryrefslogtreecommitdiff
path: root/libcxx/src/filesystem/operations.cpp
diff options
context:
space:
mode:
authorArthur O'Dwyer <arthur.j.odwyer@gmail.com>2021-02-03 17:54:13 -0500
committerArthur O'Dwyer <arthur.j.odwyer@gmail.com>2021-02-05 15:18:04 -0500
commit85167fb7c2920ca8874b197ef397e8e6b9d87c73 (patch)
tree7d5944ac385eeea55ae7a76048f62f904d8923e1 /libcxx/src/filesystem/operations.cpp
parentb008ea304d438f0aa818918caceb3bd864412304 (diff)
downloadllvm-85167fb7c2920ca8874b197ef397e8e6b9d87c73.zip
llvm-85167fb7c2920ca8874b197ef397e8e6b9d87c73.tar.gz
llvm-85167fb7c2920ca8874b197ef397e8e6b9d87c73.tar.bz2
[libc++] Further improve the contiguous-iterator story, and fix some bugs.
- Quality-of-implementation: Avoid calling __unwrap_iter in constexpr contexts. The user might conceivably write a contiguous iterator where normal iterator arithmetic is constexpr-friendly but `std::to_address(it)` isn't. - Bugfix: When you pass contiguous iterators to `std::copy`, you should get back your contiguous iterator type, not a raw pointer. That means that libc++ can't `__unwrap_iter` unless it also does `__rewrap_iter`. Fortunately, this is implementable. - Improve test coverage of the new `contiguous_iterator` test iterator. This catches the bug described above. - Tests: Stop testing that we can `std::copy` //into// an `input_iterator`. Our test iterators may currently support that, but it seems nonsensical to me. Differential Revision: https://reviews.llvm.org/D95983
Diffstat (limited to 'libcxx/src/filesystem/operations.cpp')
0 files changed, 0 insertions, 0 deletions