Skip to content

Commit c2442a3

Browse files
committed
Feedback
1 parent c95f9a7 commit c2442a3

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

libcxx/docs/Hardening.rst

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,11 @@ easier to reason about the high-level semantics of a hardening mode.
100100
- ``valid-element-access`` -- checks that any attempts to access a container
101101
element, whether through the container object or through an iterator, are
102102
valid and do not attempt to go out of bounds or otherwise access
103-
a non-existent element. For iterator checks to work, bounded iterators must be
104-
enabled in the ABI. Types like ``std::optional`` and ``std::function`` are
105-
considered one-element containers for the purposes of this check.
103+
a non-existent element. This also includes operations that set up an imminent
104+
invalid access (e.g. incrementing an end iterator). For iterator checks to
105+
work, bounded iterators must be enabled in the ABI. Types like
106+
``std::optional`` and ``std::function`` are considered containers (with at
107+
most one element) for the purposes of this check.
106108

107109
- ``valid-input-range`` -- checks that ranges (whether expressed as an iterator
108110
pair, an iterator and a sentinel, an iterator and a count, or
@@ -264,6 +266,8 @@ these steps:
264266
the root of the repository) via the CMake variable
265267
``LIBCXX_ASSERTION_HANDLER_FILE``.
266268

269+
There is no existing mechanism for users to override the termination handler.
270+
267271
ABI
268272
===
269273

0 commit comments

Comments
 (0)