[libcxx-commits] [PATCH] D132769: [2b/3][ASan][libcxx] std::basic_string annotations

Tacet via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Apr 5 22:07:13 PDT 2023


AdvenamTacet updated this revision to Diff 511269.
AdvenamTacet added a comment.

This update turns off annotations for short strings.
It is a small change and I will create another revision simply turning on annotations for short strings.

I was thinkin a lot about it and I believe it's better to have one patch turning on annotations for long strings only (with the default allocator only) and a separate one, very simple, turning on annotations for short strings as well.
My reasoning:

- Long strings with default allocator works with old ASan API. (Main reason.)
- There is much smaller chance to see a similar carse to area allocators (something we should address) with only long strings.
- If someone reports a problem, it's very helpful to see which change exactly caused the problem.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D132769/new/

https://reviews.llvm.org/D132769

Files:
  libcxx/include/__string/extern_template_lists.h
  libcxx/include/string
  libcxx/test/std/strings/basic.string/string.capacity/capacity.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/clear.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/reserve_size.asan.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/resize_and_overwrite.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/T_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/alloc.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/brace_assignment.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/char_assignment.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/copy.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/copy_alloc.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/copy_assignment.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/default.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/initializer_list.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/initializer_list_assignment.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/iter_alloc.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/iter_alloc_deduction.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/move.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/move_alloc.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/move_assignment.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/pointer_alloc.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/pointer_assignment.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/pointer_size_alloc.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/size_char_alloc.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/string_view.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/string_view_assignment.pass.cpp
  libcxx/test/std/strings/basic.string/string.cons/substr.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_append/push_back.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_append/size_char.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_append/string.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/initializer_list.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/pointer.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/pointer_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/size_char.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_erase/iter.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_erase/iter_iter.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_erase/pop_back.asan.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_erase/pop_back.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_char.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_initializer_list.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_size_char.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/char.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/initializer_list.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/pointer.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/string.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_swap/swap.asan.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_swap/swap.pass.cpp
  libcxx/test/std/strings/basic.string/string.nonmembers/string.special/swap.pass.cpp
  libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/char_string.pass.cpp
  libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_char.pass.cpp
  libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_pointer.pass.cpp
  libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_string.pass.cpp
  libcxx/test/support/asan_testing.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D132769.511269.patch
Type: text/x-patch
Size: 111179 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230406/de15f1fc/attachment-0001.bin>


More information about the libcxx-commits mailing list