[all-commits] [llvm/llvm-project] fc9248: [libc++] Assume that __wrap_iter always wraps a fa...
Quuxplusone via All-commits
all-commits at lists.llvm.org
Mon May 24 14:32:17 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: fc9248877d07132981f2d598d3684de81d12d0b8
https://github.com/llvm/llvm-project/commit/fc9248877d07132981f2d598d3684de81d12d0b8
Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
Date: 2021-05-24 (Mon, 24 May 2021)
Changed paths:
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/iterator
M libcxx/test/libcxx/iterators/contiguous_iterators.pass.cpp
Log Message:
-----------
[libc++] Assume that __wrap_iter always wraps a fancy pointer.
Not only do we conscientiously avoid using `__wrap_iter` for non-contiguous
iterators (in vector, string, span...) but also we make the assumption
(in regex) that `__wrap_iter<_Iter>` is contiguous for all `_Iter`.
So `__wrap_iter<reverse_iterator<int*>>` should be considered IFNDR,
and every `__wrap_iter` should correctly advertise contiguity in C++20.
Drive-by simplify some type traits.
Reviewed as part of https://reviews.llvm.org/D102781
More information about the All-commits
mailing list