re PR libstdc++/24975 (Aliasing problems inside libstdc++)
authorPaolo Carlini <pcarlini@suse.de>
Tue, 22 Nov 2005 14:53:03 +0000 (14:53 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 22 Nov 2005 14:53:03 +0000 (14:53 +0000)
commitd5e07b79f448ea911bda0acb00c57795eb96e7fc
tree4692df2ab32a99fb35a2951790770a5fc8a14b34
parentd66437c5fefeb55405daacce3a9272f9b2ff31dd
re PR libstdc++/24975 (Aliasing problems inside libstdc++)

2005-11-22  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/24975
* include/bits/stl_set.h (insert(iterator, const value_type&),
erase(iterator), erase(iterator, iterator)): Don't break aliasing
rules casting to _Rep_iterator&, forward to _Rb_tree facilities.
* include/bits/stl_multiset.h (insert(iterator, const value_type&),
erase(iterator), erase(iterator, iterator)): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::_M_insert(_Const_Base_ptr,
_Const_Base_ptr, const value_type&), insert_unique(const_iterator,
const value_type&), insert_equal(const_iterator, const value_type&),
erase(const_iterator), erase(const_iterator, const_iterator)): New,
_Rb_tree<>::const_iterator counterparts of existing facilities.

From-SVN: r107362
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_multiset.h
libstdc++-v3/include/bits/stl_set.h
libstdc++-v3/include/bits/stl_tree.h