On 07/03/19 23:57 +0000, Jonathan Wakely wrote:
On 07/03/19 22:22 +0100, François Dumont wrote:
Hi

    I consider the implementation to decide to invalidate iterators or not. As nodes are not deallocated and only slghtly impacted during the rehash process I consider that they shouldn't be invalidated appart from the local iterators. I should have just consider the Standard.

    Here is the complete patch which is Max Sistemich proposal but extended to the other unordered containers with also the test adapted for the testsuite.

PR libstdc++/89608
* include/debug/unordered_map (unordered_map<>::_M_check_rehashed):
  Invalidate all iterators in case of rehash.
  (unordered_multimap<>::_M_check_rehashed): Likewise.
* include/debug/unordered_set (unordered_set<>::_M_check_rehashed):
   Likewise.
   (unordered_multiset<>::_M_check_rehashed): Likewise.

* testsuite/23_containers/unordered_set/debug/89608_neg.cc: New.

    I run all unordered tests so far in Debug mode. I have 4 unrelated failures that I'll fix through another patch. Ok to commit once all tests run ?

Yes, this is OK for trunk, thanks!

I guess it's probably OK for the branches too, but let's wait a bit
and commit it to the branches later.


Reply via email to