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), \