[libcxx-commits] [PATCH] D132092: [2a/3][ASan][libcxx] std::deque annotations
Tacet via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Jun 1 17:35:09 PDT 2023
AdvenamTacet updated this revision to Diff 527680.
AdvenamTacet added a comment.
This update:
- adds a test suggested by @vitalybuka (extended to do that kind of caterpillar from every side),
- removes the issue,
- reimplementes `__annotate_whole_block` (last arguments removed; no longer calling `__annotate_from_to`).
The problem was a very similar to the previous one. Incorrect last argument (argument informing if end or begin of the container moved). It wasn't easy to spot, even that now it's obvious.
I was checking for issues like that previously but I had to miss that one. However, the argument doesn't have much sense, whole block has to be annotated anyway and it's not always obvious what value should be passed in some situations. I reimplemented problematic function, so it does not require the argument. Hope it will help to avoid similar issues in future.
I believe it's ready to land again, as both probles are solved (const element type bahaviour and incorrect annotations), a new test is added and tests passed (locally).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D132092/new/
https://reviews.llvm.org/D132092
Files:
libcxx/include/__config
libcxx/include/deque
libcxx/test/libcxx/containers/sequences/deque/asan.pass.cpp
libcxx/test/libcxx/containers/sequences/deque/asan_annotate.begin.end.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.capacity/access.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.capacity/empty.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.capacity/max_size.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.capacity/resize_size.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.capacity/shrink_to_fit.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.capacity/size.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/alloc.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/assign_initializer_list.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/assign_iter_iter.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/assign_size_value.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/copy.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/copy_alloc.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/deduct.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/default.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/initializer_list.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/initializer_list_alloc.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/iter_iter.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/iter_iter_alloc.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/move.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/move_alloc.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/move_assign.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/op_equal.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/op_equal_initializer_list.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/size.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/size_value.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.cons/size_value_alloc.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.erasure/erase.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.erasure/erase_if.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/clear.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_front.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter.invalidation.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.invalidation.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_initializer_list.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_rvalue.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_size_value.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_value.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_back.invalidation.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_back.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_front.invalidation.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_front.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back_rvalue.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_rvalue.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.special/copy.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.special/copy_backward.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.special/move.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.special/move_backward.pass.cpp
libcxx/test/std/containers/sequences/deque/deque.special/swap.pass.cpp
libcxx/test/support/asan_testing.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D132092.527680.patch
Type: text/x-patch
Size: 114100 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230602/697ab222/attachment-0001.bin>
More information about the libcxx-commits
mailing list