aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2025-03-24 21:21:02 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2025-03-25 17:38:39 +0000
commit2848b8dabcaca05563b92528206345f8f845daff (patch)
tree55f4d65cb494823c80c3068970d3a6ac5a6e2dc5 /gcc
parentd4f7d18b3ed83a8265be913bb230f6efa395e527 (diff)
downloadgcc-2848b8dabcaca05563b92528206345f8f845daff.zip
gcc-2848b8dabcaca05563b92528206345f8f845daff.tar.gz
gcc-2848b8dabcaca05563b92528206345f8f845daff.tar.bz2
libstdc++: Adjust how __gnu_debug::vector detects invalidation
The new C++23 member functions assign_range, insert_range and append_range were checking whether the begin() iterator changed after calling the base class member. That works, but is technically undefined when the original iterator has been invalidated by a change in capacity. We can just check the capacity directly, because reallocation only occurs if a change in capacity is required. N.B. we can't use data() either because std::vector<bool> doesn't have it. libstdc++-v3/ChangeLog: * include/debug/vector (vector::assign_range): Use change in capacity to detect reallocation. (vector::insert_range, vector::append_range): Likewise. Remove unused variables. Reviewed-by: Tomasz KamiƄski <tkaminsk@redhat.com>
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions