Skip to content

Commit

Permalink
[NFC][libc++] Update comments to reflect changes in ASan
Browse files Browse the repository at this point in the history
ASan capabilities were extended, but some comments were not updated and describe old behavior. This commit updates outdated comments, which I found.
Mentioned changes are:
- All allocators in containers (`std::vector` and `std::deque`; D146815 D136765) are supported, but it's possible to turn off annotations for a specific allocator (D145628).
- Buffers don't have to be aligned (D132522).

Reviewed By: #libc, philnik

Differential Revision: https://reviews.llvm.org/D156155
  • Loading branch information
AdvenamTacet committed Jul 24, 2023
1 parent 8db184a commit 705fb08
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
7 changes: 6 additions & 1 deletion libcxx/include/deque
Expand Up @@ -968,7 +968,12 @@ public:
};

// The following functions are no-ops outside of AddressSanitizer mode.
// We call annotations only for the default Allocator.
// We call annotations for every allocator, unless explicitly disabled.
//
// To disable annotations for a particular allocator, change value of
// __asan_annotate_container_with_allocator to false.
// For more details, see the "Using libc++" documentation page or
// the documentation for __sanitizer_annotate_contiguous_container.
#if !defined(_LIBCPP_HAS_NO_ASAN) && _LIBCPP_CLANG_VER >= 1600
// TODO LLVM18: Remove the special-casing
_LIBCPP_HIDE_FROM_ABI void __annotate_double_ended_contiguous_container(
Expand Down
9 changes: 6 additions & 3 deletions libcxx/include/vector
Expand Up @@ -840,9 +840,12 @@ private:
inline void __emplace_back_slow_path(_Args&&... __args);

// The following functions are no-ops outside of AddressSanitizer mode.
// We call annotatations only for the default Allocator because other allocators
// may not meet the AddressSanitizer alignment constraints.
// See the documentation for __sanitizer_annotate_contiguous_container for more details.
// We call annotations for every allocator, unless explicitly disabled.
//
// To disable annotations for a particular allocator, change value of
// __asan_annotate_container_with_allocator to false.
// For more details, see the "Using libc++" documentation page or
// the documentation for __sanitizer_annotate_contiguous_container.
#ifndef _LIBCPP_HAS_NO_ASAN
_LIBCPP_CONSTEXPR_SINCE_CXX20
void __annotate_contiguous_container(const void *__beg, const void *__end,
Expand Down

0 comments on commit 705fb08

Please sign in to comment.