gcc/libstdc++-v3/include
Jonathan Wakely 1cc56f079e PR libstdc++/86127 avoid unnecessary allocator conversions
There is no need to use an allocator of the correct value_type when
calling allocator_traits::construct and allocator_traits::destroy. The
existing node allocator can be used, instead of constructing a new
allocator object every time.

There's also no benefit to using __gnu_cxx::__alloc_traits instead of
std::allocator_traits to get the pointer and const_pointer types.
std::forward_list is only available for C++11 and later, when
std::allocator_traits is available too.

	PR libstdc++/86127
	* include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove
	unused typedef.
	(_Fwd_list_base::_Node_alloc_traits): Use allocator_traits instead of
	__gnu_cxx::__alloc_traits.
	(_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after):
	Use node allocator to create and destroy elements.
	(forward_list::_Tp_alloc_type): Remove unused typedef.
	(forward_list::_Alloc_traits): Use allocator_traits instead of
	__gnu_cxx::__alloc_traits.

From-SVN: r261554
2018-06-13 16:14:48 +01:00
..
backward PR libstdc++/69608 Move semantics for strstreambuf 2018-05-02 17:25:44 +01:00
bits PR libstdc++/86127 avoid unnecessary allocator conversions 2018-06-13 16:14:48 +01:00
c Update copyright years. 2018-01-03 11:03:58 +01:00
c_compatibility Update copyright years. 2018-01-03 11:03:58 +01:00
c_global PR libstdc++/85729 add linkage specifications to headers 2018-05-10 13:35:45 +01:00
c_std Update copyright years. 2018-01-03 11:03:58 +01:00
debug debug.h (__glibcxx_requires_can_increment_range): New. 2018-06-13 06:10:03 +00:00
decimal Update copyright years. 2018-01-03 11:03:58 +01:00
experimental PR libstdc++/78870 support std::filesystem on Windows 2018-05-31 20:20:24 +01:00
ext P0935R0 Eradicating unnecessarily explicit default constructors 2018-06-12 20:10:55 +01:00
parallel Update copyright years. 2018-01-03 11:03:58 +01:00
precompiled Update copyright years. 2018-01-03 11:03:58 +01:00
profile Update copyright years. 2018-01-03 11:03:58 +01:00
std Define special members as defaulted 2018-06-08 17:43:14 +01:00
tr1 PR libstdc++/83140 - assoc_legendre returns negated value when m is odd 2018-05-10 13:59:52 +00:00
tr2 Update copyright years. 2018-01-03 11:03:58 +01:00
Makefile.am PR libstdc++/85672 #undef _GLIBCXX_USE_FLOAT128 when not supported 2018-05-08 14:05:04 +01:00
Makefile.in PR libstdc++/85672 #undef _GLIBCXX_USE_FLOAT128 when not supported 2018-05-08 14:05:04 +01:00