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).