re PR libstdc++/25288 (std::list insert members should have no effects if an exceptio...
authorPaolo Carlini <pcarlini@suse.de>
Fri, 9 Dec 2005 18:24:53 +0000 (18:24 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Fri, 9 Dec 2005 18:24:53 +0000 (18:24 +0000)
commit0cb855b7a607882d78eab29f29eb59275a14141b
tree9879bdf34403fa29be857b0581633a4fe854420e
parentf38c945d06502df344d9cdee1a95121ea4a0745b
re PR libstdc++/25288 (std::list insert members should have no effects if an exception is thrown)

2005-12-09  Paolo Carlini  <pcarlini@suse.de>
    Howard Hinnant  <hhinnant@apple.com>

PR libstdc++/25288
* include/bits/stl_list.h (list<>::_M_insert_dispatch, _M_fill_insert):
Remove.
(_M_initialize_dispatch, _M_fill_initialize): Add.
(list(size_type, const value_type&, const allocator_type&),
list(const list&), list(_InputIterator, _InputIterator,
const allocator_type&): Use the latter.
(insert(iterator, size_type, const value_type&), insert(iterator,
_InputIterator, _InputIterator)): Use construction & splice.
* testsuite/23_containers/list/modifiers/insert/25288.cc: New.
* testsuite/testsuite_allocator.h (class throw_allocator): Add.

* include/bits/stl_list.h (list<>::insert, erase): Fix wrong comments.

Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
From-SVN: r108313
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_list.h
libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc [new file with mode: 0644]
libstdc++-v3/testsuite/testsuite_allocator.h