[libcxx-commits] [PATCH] D132092: [2a/3][ASan][libcxx] std::deque annotations
Tacet via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed May 31 22:31:43 PDT 2023
AdvenamTacet updated this revision to Diff 527283.
AdvenamTacet added a comment.
This update (hopefully) brings back old behavior of deque with const elements.
To understand the problem better, I tried to create tests for deque with const elements, but those are failing even in functions that might work. It seems like `resize` is failing, but it should be possible to make it work changing `iterator` to `const_iterator` (didn't test it, tho).
https://godbolt.org/z/qfxTW7aK7
Hey @alexfh, I hope this will solve your problem!
But `deque<const T>` seems to be poorly supported in general.
PS
MinGW prints:
> std::deque must have a non-const, non-volatile value_type
https://godbolt.org/z/zerMG7GTf
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/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.527283.patch
Type: text/x-patch
Size: 112250 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230601/51039cde/attachment-0001.bin>
More information about the libcxx-commits
mailing list