https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86843
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=111250
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #2)
> These don't depend on debug mode iterators:
>
> // Verify that [_First, _Last) forms a non-empty iterator range.
> #define __glibcxx_check_non_empty_range(_First,_Last) \
This is never actually used, but __glibcxx_requires_non_empty_range is and
that's already enabled by _GLIBCXX_ASSERTIONS.
> // Verify that the subscript _N is less than the container's size.
> #define __glibcxx_check_subscript(_N) \
Ditto, for __glibcxx_requires_subscript.
> // Verify that the bucket _N is less than the container's buckets count.
> #define __glibcxx_check_bucket_index(_N) \
> _GLIBCXX_DEBUG_VERIFY(_N < this->bucket_count(), \
This should probably be enabled for _GLIBCXX_ASSERTIONS.
> // Verify that the container is nonempty
> #define __glibcxx_check_nonempty() \
> _GLIBCXX_DEBUG_VERIFY(! this->empty(),
> \
__glibcxx_requires_nonempty is already enabled by _GLIBCXX_ASSERTIONS.
> // Verify that load factor is positive
> #define __glibcxx_check_max_load_factor(_F) \
> _GLIBCXX_DEBUG_VERIFY(_F > 0.0f, \
This should probably be enabled for _GLIBCXX_ASSERTIONS.
> #define __glibcxx_check_equal_allocs(_This, _Other) \
> _GLIBCXX_DEBUG_VERIFY(_This.get_allocator() == _Other.get_allocator(),
> \
This should probably be enabled for _GLIBCXX_ASSERTIONS.
That just leaves:
> // Verify that a predicate is irreflexive
> #define __glibcxx_check_irreflexive(_First,_Last) \
> _GLIBCXX_DEBUG_VERIFY(_First == _Last || !(*_First < *_First), \