_LIBCXX_DEBUG value initialized singular iterators assert failures in std algorithms [PR104316]
Jonathan Wakely
jwakely.gcc@gmail.com
Thu Mar 21 06:20:25 GMT 2024
On Wed, 20 Mar 2024 at 18:11, François Dumont wrote:
>
> As proposed below I also updated gcc-13 branch.
Great, thanks.
>
> libstdc++: [_GLIBCXX_DEBUG] Define __cpp_lib_null_iterators
>
> _GLIBCXX_DEBUG has now fully N3344 compliant iterator checks, we
> can define
> __cpp_lib_null_iterators macros like the normal mode.
>
> libstdc++-v3/ChangeLog:
>
> * include/std/iterator (__cpp_lib_null_iterators): Define
> regardless of
> _GLIBCXX_DEBUG.
> * include/std/version (__cpp_lib_null_iterators): Likewise.
>
> François
>
>
> On 20/03/2024 10:02, Jonathan Wakely wrote:
> > On Wed, 20 Mar 2024 at 05:59, François Dumont wrote:
> >> Thanks to you doc:
> >>
> >> libstdc++: [_GLIBCXX_DEBUG] Define __[glibcxx,cpp_lib]_null_iterators
> >>
> >> _GLIBCXX_DEBUG has now fully N3344 compliant iterator checks, we
> >> can define
> >> __glibcxx_null_iterators and __cpp_lib_null_iterators macros like
> >> the normal
> >> mode.
> >>
> >> libstdc++-v3/ChangeLog:
> >>
> >> * version.def (null_iterators): Remove extra_cond.
> >> * version.h: Regenerate.
> >>
> >> Ok to commit ?
> > Please don't bother talking about __glibcxx_null_iterators in the
> > commit message, that's an implementation detail that always mirrors
> > the standard-defined __cpp_lib_null_iterators one. The first line of
> > the commit will be much easier to read without that.
> >
> > OK with that change, thanks.
> >
> >> I already noticed that GCC 13 has no version.h file so no backport question.
> > It has no version.h but it still has the macros:
> >
> > include/std/iterator:# define __cpp_lib_null_iterators 201304L
> > include/std/version:# define __cpp_lib_null_iterators 201304L
> >
> > Those definitions can be made to not depend on _GLIBCXX_DEBUG.
> >
More information about the Libstdc++
mailing list