[Bug libstdc++/24617] vector vs __erase_at_end
paolo at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Dec 8 11:32:00 GMT 2005
------- Comment #3 from paolo at gcc dot gnu dot org 2005-12-08 11:32 -------
Subject: Bug 24617
Author: paolo
Date: Thu Dec 8 11:32:37 2005
New Revision: 108227
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=108227
Log:
2005-12-08 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_vector.h (vector<>::size, resize, capacity,
operator[]): Avoid troubles with ADL, user defined operators
and __normal_iterator.
(_M_erase_at_end): Fix to take a pointer.
(clear): Adjust call.
* include/bits/vector.tcc (vector<>::insert(iterator, const
value_type&), erase(iterator, iterator), operator=(const
vector<>&), _M_assign_aux(input_iterator_tag), _M_insert_aux,
_M_fill_insert, _M_range_insert): Likewise.
(_M_fill_assign, _M_assign_aux(forward_iterator_tag)): Adjust
_M_erase_at_end call.
* testsuite/23_containers/vector/types/1.cc: New.
2005-12-08 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24617
* include/bits/stl_vector.h (vector<>::_M_erase_at_end): New.
(vector<>::clear, resize): Use it.
* include/bits/vector.tcc (vector<>::erase(iterator, iterator),
_M_fill_assign, _M_assign_aux): Likewise.
* testsuite/23_containers/vector/modifiers/erase/1.cc: New.
Added:
trunk/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/
trunk/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/1.cc
trunk/libstdc++-v3/testsuite/23_containers/vector/types/1.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/stl_vector.h
trunk/libstdc++-v3/include/bits/vector.tcc
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24617
More information about the Gcc-bugs
mailing list