283283// - `_LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR` -- checks any operations that exchange nodes between containers to make sure
284284// the containers have compatible allocators.
285285//
286+ // - `_LIBCPP_ASSERT_PEDANTIC` -- checks prerequisites which are imposed by the Standard, but violating which happens to
287+ // be benign in our implementation.
288+ //
286289// - `_LIBCPP_ASSERT_INTERNAL` -- checks that internal invariants of the library hold. These assertions don't depend on
287290// user input.
288291//
@@ -325,6 +328,7 @@ _LIBCPP_HARDENING_MODE_DEBUG
325328// vulnerability.
326329# define _LIBCPP_ASSERT_NON_OVERLAPPING_RANGES (expression, message ) _LIBCPP_ASSUME(expression)
327330# define _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR (expression, message ) _LIBCPP_ASSUME(expression)
331+ # define _LIBCPP_ASSERT_PEDANTIC (expression, message ) _LIBCPP_ASSUME(expression)
328332# define _LIBCPP_ASSERT_INTERNAL (expression, message ) _LIBCPP_ASSUME(expression)
329333# define _LIBCPP_ASSERT_UNCATEGORIZED (expression, message ) _LIBCPP_ASSUME(expression)
330334
@@ -339,6 +343,7 @@ _LIBCPP_HARDENING_MODE_DEBUG
339343# define _LIBCPP_ASSERT_NON_OVERLAPPING_RANGES (expression, message ) _LIBCPP_ASSERT(expression, message)
340344# define _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR (expression, message ) _LIBCPP_ASSERT(expression, message)
341345# define _LIBCPP_ASSERT_UNCATEGORIZED (expression, message ) _LIBCPP_ASSERT(expression, message)
346+ # define _LIBCPP_ASSERT_PEDANTIC (expression, message ) _LIBCPP_ASSERT(expression, message)
342347// Disabled checks.
343348# define _LIBCPP_ASSERT_INTERNAL (expression, message ) _LIBCPP_ASSUME(expression)
344349
@@ -352,6 +357,7 @@ _LIBCPP_HARDENING_MODE_DEBUG
352357# define _LIBCPP_ASSERT_NON_NULL (expression, message ) _LIBCPP_ASSERT(expression, message)
353358# define _LIBCPP_ASSERT_NON_OVERLAPPING_RANGES (expression, message ) _LIBCPP_ASSERT(expression, message)
354359# define _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR (expression, message ) _LIBCPP_ASSERT(expression, message)
360+ # define _LIBCPP_ASSERT_PEDANTIC (expression, message ) _LIBCPP_ASSERT(expression, message)
355361# define _LIBCPP_ASSERT_INTERNAL (expression, message ) _LIBCPP_ASSERT(expression, message)
356362# define _LIBCPP_ASSERT_UNCATEGORIZED (expression, message ) _LIBCPP_ASSERT(expression, message)
357363
@@ -365,6 +371,7 @@ _LIBCPP_HARDENING_MODE_DEBUG
365371# define _LIBCPP_ASSERT_NON_NULL (expression, message ) _LIBCPP_ASSUME(expression)
366372# define _LIBCPP_ASSERT_NON_OVERLAPPING_RANGES (expression, message ) _LIBCPP_ASSUME(expression)
367373# define _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR (expression, message ) _LIBCPP_ASSUME(expression)
374+ # define _LIBCPP_ASSERT_PEDANTIC (expression, message ) _LIBCPP_ASSUME(expression)
368375# define _LIBCPP_ASSERT_INTERNAL (expression, message ) _LIBCPP_ASSUME(expression)
369376# define _LIBCPP_ASSERT_UNCATEGORIZED (expression, message ) _LIBCPP_ASSUME(expression)
370377
0 commit comments