re PR libstdc++/50529 ([C++0x] std::vector::erase invokes undefined behavior with...
authorPaolo Carlini <paolo.carlini@oracle.com>
Tue, 27 Sep 2011 02:39:34 +0000 (02:39 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 27 Sep 2011 02:39:34 +0000 (02:39 +0000)
commita7cee01d32cdbe912b32ad113b569b39a0e95445
treeb6525343983bf3112c8c0936acc632df1f36f60b
parentb92edfe52d92baaf258a9d3234a964411a2b94b7
re PR libstdc++/50529 ([C++0x] std::vector::erase invokes undefined behavior with empty range)

2011-09-26  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.

From-SVN: r179234
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/deque.tcc
libstdc++-v3/include/bits/stl_bvector.h
libstdc++-v3/include/bits/vector.tcc
libstdc++-v3/include/debug/deque
libstdc++-v3/include/debug/vector
libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/3.cc
libstdc++-v3/testsuite/23_containers/deque/modifiers/erase/50529.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/50529.cc [new file with mode: 0644]