[libcxx-commits] [PATCH] D127669: [libc++] Robust against C++20-hostile iterators
Eric Fiselier via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jun 13 13:40:28 PDT 2022
EricWF accepted this revision.
EricWF added a comment.
I still think it would be nice to produce a minimal test that actually ran (no need to check any output). Since having a runnable test would allow the sanitizers to pick up any weird bugs Cpp20HostileIterator causes at runtime.
But as a CI fix, this LGTM once the comments about undefined symbols have been addressed.
================
Comment at: libcxx/test/std/algorithms/robust_against_cpp20_hostile_iterators.compile.pass.cpp:67
+ Cpp20HostileIterator() {}
+ Cpp20HostileIterator(It it);
+};
----------------
You'll want to define this constructor too.
================
Comment at: libcxx/test/std/algorithms/robust_against_cpp20_hostile_iterators.compile.pass.cpp:76
+
+void test() {
+ Cpp20HostileIterator<int*> it;
----------------
You might as well run these tests over some meaningful input. Then if our implementations do something else weird there's a chance the sanitizers can catch it.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D127669/new/
https://reviews.llvm.org/D127669
More information about the libcxx-commits
mailing list