[all-commits] [llvm/llvm-project] 6946f0: [libc++] [LIBCXX-DEBUG-FIXME] <span>, like <string...
Quuxplusone via All-commits
all-commits at lists.llvm.org
Fri Apr 30 20:07:51 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6946f0ecca64f3af6b9e28cced9c982de2748f19
https://github.com/llvm/llvm-project/commit/6946f0ecca64f3af6b9e28cced9c982de2748f19
Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
Date: 2021-04-30 (Fri, 30 Apr 2021)
Changed paths:
M libcxx/include/__config
M libcxx/include/span
M libcxx/test/std/containers/views/span.cons/deduct.pass.cpp
M libcxx/test/std/containers/views/span.iterators/begin.pass.cpp
M libcxx/test/std/containers/views/span.iterators/end.pass.cpp
M libcxx/test/std/containers/views/span.iterators/rbegin.pass.cpp
M libcxx/test/std/containers/views/span.iterators/rend.pass.cpp
M libcxx/test/std/containers/views/span.sub/first.pass.cpp
M libcxx/test/std/containers/views/span.sub/last.pass.cpp
M libcxx/test/std/containers/views/span.sub/subspan.pass.cpp
Log Message:
-----------
[libc++] [LIBCXX-DEBUG-FIXME] <span>, like <string_view>, has no use for debug iterators.
A span has no idea what container (if any) "owns" its iterators, nor
under what circumstances they might become invalidated.
However, continue to use `__wrap_iter<T*>` instead of raw `T*` outside
of debug mode, because we've been shipping `std::span` since Clang 7
and ldionne doesn't want to break ABI. (Namely, the mangling of functions
taking `span::iterator` as a parameter.) Permit using raw `T*` there,
but only under an ABI macro: `_LIBCPP_ABI_SPAN_POINTER_ITERATORS`.
Differential Revision: https://reviews.llvm.org/D101003
More information about the All-commits
mailing list