gcc/libstdc++-v3/include
Jonathan Wakely 375f837be1 re PR libstdc++/49561 ([C++0x] std::list::size complexity)
PR libstdc++/49561
	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define.
	* configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI.
	* configure: Regenerate.
	* include/Makefile.am (stamp-cxx11-abi): New target.
	(c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro.
	* include/Makefile.in: Regenerate.
	* include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and
	define _GLIBCXX_DEFAULT_ABI_TAG.
	* include/bits/list.tcc (list::emplace(const_iterator, _Args&...)):
	Increment size.
	(list::emplace(const_iterator, const value_type&)): Likewise.
	(list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust
	list sizes.
	* include/bits/stl_list.h (_List_base, list): Add ABI tag macro.
	(_List_base::_M_size): New data member in cxx11 ABI mode.
	(_List_base::_S_distance(_List_node_base*, _List_node_base*)): New
	function.
	(_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
	_List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
	_List_base::_M_distance, _List_base::_M_node_count): New functions for
	accessing list size correctly for the ABI mode.
	(_List_base::_List_base(_List_base&&)): Copy size and reset source.
	(_List_base::_M_init()): Initialize size member.
	(list::size()): Use _List_base::_M_node_count.
	(list::swap(list&)): Swap sizes.
	(list::splice(iterator, list&)): Update sizes.
	(list::splice(iterator, list&, iterator)): Likewise.
	(list::insert(iterator, const value_type&)): Update size.
	(list::insert(iterator, _Args&&...)): Likewise.
	(list::_M_erase(iterator)): Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust.
	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
	Adjust.
	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
	Adjust.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Adjust.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust.

From-SVN: r216094
2014-10-10 16:33:57 +01:00
..
backward
bits re PR libstdc++/49561 ([C++0x] std::list::size complexity) 2014-10-10 16:33:57 +01:00
c
c_compatibility
c_global ctgmath: Include <complex>. 2014-10-02 16:52:24 +01:00
c_std
debug re PR libstdc++/62313 (Data race in debug iterators) 2014-09-29 21:22:17 +00:00
decimal
experimental Makefile.am: Add new header. 2014-10-06 13:26:45 +01:00
ext Make streams movable and swappable. 2014-09-22 14:34:09 +01:00
parallel user.cfg.in (INPUT): Add C++14 headers. 2014-06-14 17:33:53 +01:00
precompiled
profile Make std::deque meet C++11 allocator requirements. 2014-09-09 18:29:32 +01:00
std re PR libstdc++/61909 (Small function optimization not applied to small objects) 2014-10-09 19:17:28 +01:00
tr1 beta_function.tcc: Fix spelling of include guard in comment. 2014-06-09 12:52:20 +01:00
tr2 any (any_cast): Combine duplicate doxygen comments. 2014-06-14 21:43:07 +01:00
Makefile.am re PR libstdc++/49561 ([C++0x] std::list::size complexity) 2014-10-10 16:33:57 +01:00
Makefile.in re PR libstdc++/49561 ([C++0x] std::list::size complexity) 2014-10-10 16:33:57 +01:00