public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/86843] Allow separating debug mode into ABI-changing part and rest
[not found] <bug-86843-4@http.gcc.gnu.org/bugzilla/>
@ 2024-01-17 12:05 ` redi at gcc dot gnu.org
2024-01-17 17:58 ` sjames at gcc dot gnu.org
` (2 subsequent siblings)
3 siblings, 0 replies; 4+ messages in thread
From: redi at gcc dot gnu.org @ 2024-01-17 12:05 UTC (permalink / raw)
To: gcc-bugs
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), \
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libstdc++/86843] Allow separating debug mode into ABI-changing part and rest
[not found] <bug-86843-4@http.gcc.gnu.org/bugzilla/>
2024-01-17 12:05 ` [Bug libstdc++/86843] Allow separating debug mode into ABI-changing part and rest redi at gcc dot gnu.org
@ 2024-01-17 17:58 ` sjames at gcc dot gnu.org
2024-01-17 21:19 ` redi at gcc dot gnu.org
2024-01-17 21:19 ` redi at gcc dot gnu.org
3 siblings, 0 replies; 4+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-01-17 17:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86843
--- Comment #4 from Sam James <sjames at gcc dot gnu.org> ---
libcxx has started working towards this, see
https://discourse.llvm.org/t/rfc-hardening-in-libc/73925 and
https://libcxx.llvm.org/Hardening.html.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libstdc++/86843] Allow separating debug mode into ABI-changing part and rest
[not found] <bug-86843-4@http.gcc.gnu.org/bugzilla/>
2024-01-17 12:05 ` [Bug libstdc++/86843] Allow separating debug mode into ABI-changing part and rest redi at gcc dot gnu.org
2024-01-17 17:58 ` sjames at gcc dot gnu.org
@ 2024-01-17 21:19 ` redi at gcc dot gnu.org
2024-01-17 21:19 ` redi at gcc dot gnu.org
3 siblings, 0 replies; 4+ messages in thread
From: redi at gcc dot gnu.org @ 2024-01-17 21:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86843
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
It's a shame they're using "debug mode" to mean "debug the library impl itself"
when that's a term we have been using with completely different meaning for
many years.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libstdc++/86843] Allow separating debug mode into ABI-changing part and rest
[not found] <bug-86843-4@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2024-01-17 21:19 ` redi at gcc dot gnu.org
@ 2024-01-17 21:19 ` redi at gcc dot gnu.org
3 siblings, 0 replies; 4+ messages in thread
From: redi at gcc dot gnu.org @ 2024-01-17 21:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86843
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Oh I think I misread it ... it does enable some internal assertions, but is
mostly the same meaning as our debug mode.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-01-17 21:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-86843-4@http.gcc.gnu.org/bugzilla/>
2024-01-17 12:05 ` [Bug libstdc++/86843] Allow separating debug mode into ABI-changing part and rest redi at gcc dot gnu.org
2024-01-17 17:58 ` sjames at gcc dot gnu.org
2024-01-17 21:19 ` redi at gcc dot gnu.org
2024-01-17 21:19 ` redi at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).