gcc/libstdc++-v3
François Dumont c6195f588b re PR libstdc++/29988 (More stl_tree.h enhancements: improving operator=)
2014-09-24  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/29988
	* include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
	(_Rb_tree_alloc_node<>): New.
	(_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
	(_Rb_tree<>::_M_assign_unique): New.
	(_Rb_tree<>::_M_assign_equal): New.
	(_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
	* include/bits/stl_map.h
	(std::map<>::operator=(std::map<>&&)): Default implementation.
	(std::map<>::operator=(initializer_list<>)): Adapt to use
	_Rb_tree::_M_assign_unique.
	* include/bits/stl_multimap.h
	(std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
	(std::multimap<>::operator=(initializer_list<>)): Adapt to use
	_Rb_tree::_M_assign_equal.
	* include/bits/stl_set.h
	(std::set<>::operator=(std::set<>&&)): Default implementation.
	(std::set<>::operator=(initializer_list<>)): Adapt to use
	_Rb_tree::_M_assign_unique.
	* include/bits/stl_multiset.h
	(std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
	(std::multiset<>::operator=(initializer_list<>)): Adapt to use
	_Rb_tree::_M_assign_equal.
	* testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
	* testsuite/23_containers/map/allocator/init-list.cc: New.
	* testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
	* testsuite/23_containers/multimap/allocator/copy_assign.cc
	(test03): New.
	* testsuite/23_containers/multimap/allocator/init-list.cc: New.
	* testsuite/23_containers/multimap/allocator/move_assign.cc
	(test03): New.
	* testsuite/23_containers/multiset/allocator/copy_assign.cc
	(test03): New.
	* testsuite/23_containers/multiset/allocator/init-list.cc: New.
	* testsuite/23_containers/multiset/allocator/move_assign.cc
	(test03): New.
	* testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
	* testsuite/23_containers/set/allocator/init-list.cc: New.
	* testsuite/23_containers/set/allocator/move_assign.cc (test03): New.

From-SVN: r215568
2014-09-24 19:55:35 +00:00
..
config gnu.ver: Adjust basic_ostream exports. 2014-09-23 14:17:42 +01:00
doc status_cxx2011.xml: Update C++11 status. 2014-09-22 16:25:37 +01:00
include re PR libstdc++/29988 (More stl_tree.h enhancements: improving operator=) 2014-09-24 19:55:35 +00:00
libsupc++ dyncast.cc (__dynamic_cast): Handle mid-destruction dynamic_cast more gracefully. 2014-09-18 08:34:43 -04:00
po
python hook.in: Load the xmethods. 2014-09-10 14:18:04 +01:00
scripts bool_set: Use UTF-8 for accented characters. 2014-05-29 15:04:43 +01:00
src re PR libstdc++/63353 (libstdc++-v3/src/c++11/ios.cc:232: possible typo ?) 2014-09-24 10:40:10 +01:00
testsuite re PR libstdc++/29988 (More stl_tree.h enhancements: improving operator=) 2014-09-24 19:55:35 +00:00
acinclude.m4 acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with AC_MSG_CHECKING. 2014-07-19 18:56:09 +01:00
aclocal.m4
ChangeLog re PR libstdc++/29988 (More stl_tree.h enhancements: improving operator=) 2014-09-24 19:55:35 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013 * ChangeLog-2013: Correct an old entry. 2014-05-26 23:49:19 +02:00
config.h.in
configure acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with AC_MSG_CHECKING. 2014-07-19 18:56:09 +01:00
configure.ac
configure.host config.gcc (*-*-dragonfly*): New target. 2014-05-21 12:08:58 +01:00
crossconfig.m4 Remove obsolete Solaris 9 support 2014-04-22 12:30:59 +00:00
fragment.am
linkage.m4
Makefile.am
Makefile.in
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.