As proposed below I also updated gcc-13 branch.     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. >