]> gcc.gnu.org Git - gcc.git/commit
libstdc++: Restore debug checks in uniform container erasure functions
authorJonathan Wakely <jwakely@redhat.com>
Thu, 7 Oct 2021 19:33:45 +0000 (20:33 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Fri, 8 Oct 2021 11:20:25 +0000 (12:20 +0100)
commit82e3a826871effc7093852a9181f641c693ae94f
tree59fad51566da7e89bf11f80a2622546f5b5de2eb
parentfcc13d6fc31441b5672b68a5e3b247687724218f
libstdc++: Restore debug checks in uniform container erasure functions

This partially reverts commit 561078480ffb5adb68577276c6b23e4ee7b39272.

If we avoid all debug mode checks when erasing elements then we fail to
invalidate safe iterators to the removed elements. This reverts the
recent changes in r12-4083 and r12-4233, restoring the debug checking.

libstdc++-v3/ChangeLog:

* include/experimental/deque (erase, erase_if): Revert changes
to avoid debug mode overhead.
* include/experimental/map (erase, erase_if): Likewise.
* include/experimental/set (erase, erase_if): Likewise.
* include/experimental/unordered_map (erase, erase_if):
Likewise.
* include/experimental/unordered_set (erase, erase_if):
Likewise.
* include/experimental/vector (erase, erase_if): Likewise.
* include/std/deque (erase, erase_if): Likewise.
* include/std/map (erase, erase_if): Likewise.
* include/std/set (erase, erase_if): Likewise.
* include/std/unordered_map (erase, erase_if): Likewise.
* include/std/unordered_set (erase, erase_if): Likewise.
* include/std/vector (erase, erase_if): Likewise.
12 files changed:
libstdc++-v3/include/experimental/deque
libstdc++-v3/include/experimental/map
libstdc++-v3/include/experimental/set
libstdc++-v3/include/experimental/unordered_map
libstdc++-v3/include/experimental/unordered_set
libstdc++-v3/include/experimental/vector
libstdc++-v3/include/std/deque
libstdc++-v3/include/std/map
libstdc++-v3/include/std/set
libstdc++-v3/include/std/unordered_map
libstdc++-v3/include/std/unordered_set
libstdc++-v3/include/std/vector
This page took 0.06615 seconds and 6 git commands to generate.