[Bug libstdc++/50529] [C++0x] std::vector::erase invokes undefined behavior with empty range
paolo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Sep 30 21:16:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50529
--- Comment #6 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2011-09-30 20:47:17 UTC ---
Author: paolo
Date: Fri Sep 30 20:47:12 2011
New Revision: 179403
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179403
Log:
2011-09-30 François Dumont <fdumont@gcc.gnu.org>
* include/debug/vector (vector<>::erase(iterator, iterator)): Check
iterators equality using normal iterators.
* include/debug/deque (deque<>::erase(iterator, iterator)): Likewise.
2011-09-30 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/50529
* include/bits/vector.tcc (vector<>::erase(iterator, iterator)):
Fix to do nothing if the range is empty.
* include/bits/stl_bvector.h: Likewise.
* include/bits/deque.tcc: Likewise.
* include/debug/vector: Adjust.
* include/debug/deque: Likewise.
* testsuite/23_containers/vector/modifiers/erase/50529.cc: New.
* testsuite/23_containers/deque/modifiers/erase/50529.cc: Likewise.
* testsuite/23_containers/deque/modifiers/erase/3.cc: Adjust.
Added:
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/50529.cc
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/50529.cc
Modified:
branches/gcc-4_6-branch/libstdc++-v3/ChangeLog
branches/gcc-4_6-branch/libstdc++-v3/include/bits/deque.tcc
branches/gcc-4_6-branch/libstdc++-v3/include/bits/stl_bvector.h
branches/gcc-4_6-branch/libstdc++-v3/include/bits/vector.tcc
branches/gcc-4_6-branch/libstdc++-v3/include/debug/deque
branches/gcc-4_6-branch/libstdc++-v3/include/debug/vector
branches/gcc-4_6-branch/libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/3.cc
More information about the Gcc-bugs
mailing list