Both committed now.

Just to confirm, those 2 last patches should be backported to gcc-13 branch, right ?

I might have a try to update version.h but if you want to do it before don't hesitate.

François

On 18/03/2024 08:45, Jonathan Wakely wrote:
On Sun, 17 Mar 2024 at 18:14, François Dumont <frs.dum...@gmail.com> wrote:
I was a little bit too confident below. After review of all _M_singular
usages I found another necessary fix.

After this one for sure we will be able to define
__cpp_lib_null_iterators even in Debug mode.

      libstdc++: Fix N3344 behavior on _Safe_iterator::_M_can_advance

      We shall be able to advance from a 0 offset a value-initialized
iterator.

      libstdc++-v3/ChangeLog:

              * include/debug/safe_iterator.tcc
(_Safe_iterator<>::_M_can_advance):
              Accept 0 offset advance on value-initialized iterator.
              * testsuite/23_containers/vector/debug/n3644.cc: New test case.

Ok to commit ?

OK, thanks.


François


On 17/03/2024 17:52, François Dumont wrote:
OK for trunk, thanks!

I think this is OK to backport to 13 too.

Maybe after this we can define the __cpp_lib_null_itetators macro for
debug mode?

After this fix of local_iterator I think we can indeed.

In fact the added 11316.cc was already passing for
unordered_set<>::local_iterator but simply because we were missing the
singular check. Both issues solved with this patch.

I found the version.def file to cleanup but no idea how to regenerate
version.h from it so I'll let you do it, ok ?

     libstdc++: Fix _Safe_local_iterator<>::_M_valid_range

     Unordered container local_iterator range shall not contain any
singular
     iterator unless both iterators are value-initialized.

     libstdc++-v3/ChangeLog:

             * include/debug/safe_local_iterator.tcc
             (_Safe_local_iterator::_M_valid_range): Add
_M_value_initialized and
             _M_singular checks.
             * testsuite/23_containers/unordered_set/debug/114316.cc:
New test case.


Ok to commit ?

François

Reply via email to