On Thu, 11 Nov 2021 at 21:33, François Dumont wrote: > On 11/11/21 9:41 pm, Jonathan Wakely wrote: > > > > On Wed, 10 Nov 2021 at 11:55, Jonathan Wakely <jwak...@redhat.com> wrote: > >> >> >> On Tue, 9 Nov 2021 at 16:25, Jonathan Wakely <jwak...@redhat.com> wrote: >> >>> >>> >>> On Mon, 8 Nov 2021 at 21:36, François Dumont <frs.dum...@gmail.com> >>> wrote: >>> >>>> Yet another version this time with only 1 guard implementation. The >>>> predicate to invalidate the safe iterators has been externalized. >>>> >>>> Ok to commit ? >>>> >>> >>> I like this version a lot - thanks for persisting with it. >>> >>> >> >> I'm seeing new failures with this: >> >> make check RUNTESTFLAGS="conformance.exp=23_containers/*/invalidation/* >> --target_board=unix/-D_GLIBCXX_DEBUG/-std=gnu++98" >> >> FAIL: 23_containers/deque/debug/invalidation/1.cc (test for excess >> errors) >> FAIL: 23_containers/list/debug/invalidation/1.cc (test for excess errors) >> FAIL: 23_containers/map/debug/invalidation/1.cc (test for excess errors) >> FAIL: 23_containers/multimap/debug/invalidation/1.cc (test for excess >> errors) >> FAIL: 23_containers/multiset/debug/invalidation/1.cc (test for excess >> errors) >> FAIL: 23_containers/set/debug/invalidation/1.cc (test for excess errors) >> FAIL: 23_containers/vector/debug/invalidation/1.cc (test for excess >> errors) >> > > It's caused by: > > --- a/libstdc++-v3/include/debug/safe_container.h > +++ b/libstdc++-v3/include/debug/safe_container.h > @@ -78,7 +78,6 @@ namespace __gnu_debug > { } > #endif > > - public: > // Copy assignment invalidate all iterators. > _Safe_container& > operator=(const _Safe_container&) _GLIBCXX_NOEXCEPT > > > For C++98 mode that gets called explicitly by the user-provided copy > assignment operators in the derived class. > > I'm testing the attached fix. > > I am also testing a patch but yours looks nicer so go ahead. >
I've pushed it to trunk now. > I'll just complete it with some additional cleanup I did to suppress > _Safe_container::_M_safe() and reduce usages of _M_base(). > Sounds good, thanks.