|  Ville Voutilainen | 8c9142276b | Add missing variable traits, fix testsuite failures. * include/bits/uses_allocator.h (uses_allocator_v): New.
	* include/std/functional (is_bind_expression_v, is_placeholder_v):
	Likewise.
	* testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
	* testsuite/20_util/duration/literals/range.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
	* testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
	New.
From-SVN: r238921 | 2016-07-31 17:52:53 +03:00 | 
				
					
						|  Jason Merrill | 9f285ccb77 | Revert empty class parameter passing ABI changes. From-SVN: r234977 | 2016-04-14 12:23:06 -04:00 | 
				
					
						|  Jonathan Wakely | a6297ab587 | Adjust for new empty class parameter passing ABI. * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
	_GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
	* include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
	of functions taking empty structs by value. Add a template parameter
	to overloads without hints. Rename overloads with hints to
	_M_emplace_hint.
	(_Hashtable::_M_erase(true_type, const_iterator),
	_Hashtable::_M_erase(false_type, const_iterator)): Change signatures
	by reordering parameters.
	* include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
	_M_emplace_hint instead of _M_emplace.
	* include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
	shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
	* include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
	__shared_ptr): Likewise.
	* include/bits/stl_algo.h (replace_if): Likewise.
	* include/bits/stl_pair.h (piecewise_construct_t,
	piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
	* include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
	__uses_alloc0): Likewise.
	* include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
	* testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
	* testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
From-SVN: r234964 | 2016-04-13 23:00:50 +01:00 | 
				
					
						|  Jonathan Wakely | d7c1581c04 | Use static assertion for uses-allocator construction PR libstdc++/69293
	* include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
	static assertion that type is constructible from the arguments.
	* testsuite/20_util/scoped_allocator/69293_neg.cc: New.
	* testsuite/20_util/uses_allocator/69293_neg.cc: New.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
From-SVN: r232457 | 2016-01-15 23:12:13 +00:00 | 
				
					
						|  Jonathan Wakely | e525d78caa | Add missing include for std::__addressof PR libstdc++/69160
	* include/bits/uses_allocator.h: Add missing include.
From-SVN: r232162 | 2016-01-08 13:14:01 +00:00 | 
				
					
						|  Jonathan Wakely | f885fa898f | Use std::addressof in insert iterators, allocators and promises PR libstdc++/69105
	PR libstdc++/69106
	PR libstdc++/69114
	* include/bits/stl_iterator.h (back_insert_iterator,
	front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
	* include/bits/uses_allocator.h (__use_alloc): Use __addressof.
	* include/std/future (__future::base::_State_baseV2::__setter):
	Likewise.
	* include/std/scoped_allocator (__outermost): Likewise.
	* testsuite/20_util/scoped_allocator/69114.cc: New.
	* testsuite/20_util/uses_allocator/69114.cc: New.
	* testsuite/30_threads/promise/69106.cc: New.
From-SVN: r232129 | 2016-01-07 15:01:33 +00:00 | 
				
					
						|  Jakub Jelinek | 818ab71a41 | Update copyright years. From-SVN: r232055 | 2016-01-04 15:30:50 +01:00 | 
				
					
						|  Fan You | bfeffbd1ae | Implement C++ LFTSv1 polymorphic memory resources 2015-11-13  Fan You  <youfan.noey@gmail.com>
	* include/Makefile.am: Add new headers.
	* include/Makefile.in: Regenerate.
	* include/bits/uses_allocator.h (__erased_type): Define.
	(__uses_allocator_helper): Check for __erased_type.
	* include/experimental/memory_resource: New.
	* include/experimental/utlity: New.
	* testsuite/experimental/type_erased_allocator/1.cc: New.
	* testsuite/experimental/type_erased_allocator/1_neg.cc: New.
	* testsuite/experimental/type_erased_allocator/2.cc: New.
	* testsuite/experimental/type_erased_allocator/uses_allocator.cc: New.
From-SVN: r230294 | 2015-11-13 10:00:59 +00:00 | 
				
					
						|  Ville Voutilainen | 269fa2a91b | LWG 2510, make the default constructors of library tag types explicit. 2015-11-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
	LWG 2510, make the default constructors of library tag types
	explicit.
	* include/bits/mutex.h (defer_lock_t, try_lock_t,
	adopt_lock_t): Add an explicit default constructor.
	* include/bits/stl_pair.h (piecewise_construct_t): Likewise.
	* include/bits/uses_allocator.h (allocator_arg_t): Likewise.
	* libsupc++/new (nothrow_t): Likewise.
	* testsuite/17_intro/tag_type_explicit_ctor.cc: New.
From-SVN: r230175 | 2015-11-11 16:47:19 +02:00 | 
				
					
						|  Jakub Jelinek | 5624e564d2 | Update copyright years. From-SVN: r219188 | 2015-01-05 13:33:28 +01:00 | 
				
					
						|  Jonathan Wakely | 847e9cf81e | Define __void_t and SFINAE-friendly iterator_traits. * include/std/type_traits (__void_t): Define new alias template.
	(_GLIBCXX_HAS_NESTED_TYPE): Redefine using __void_t.
	* include/std/functional (_Maybe_get_result_type): Likewise.
	* include/bits/stl_iterator_base_types.h (__iterator_traits): Likewise.
	* include/bits/uses_allocator.h (__uses_allocator_helper): Likewise.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error.
	* testsuite/20_util/reference_wrapper/typedefs-3.cc: Adjust to changes
	in _GLIBCXX_HAS_NESTED_TYPE.
From-SVN: r217395 | 2014-11-11 23:57:35 +00:00 | 
				
					
						|  Jonathan Wakely | 314efb66cf | uses_allocator.h (__uses_allocator_helper): Simplify. * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
	(__uses_allocator_arg): Remove unused type.
	(__uses_alloc0): Turn into a trivial type.
	(__uses_alloc): Add missing template parameter in primary template.
	(__uses_alloc_impl): Rename to __uses_alloc_t.
From-SVN: r211121 | 2014-06-01 23:35:42 +01:00 | 
				
					
						|  Richard Sandiford | aa118a03c4 | Update copyright years in libstdc++-v3/ From-SVN: r206301 | 2014-01-02 22:30:10 +00:00 | 
				
					
						|  Richard Sandiford | 405feeb871 | Update copyright in libstdc++-v3. From-SVN: r195701 | 2013-02-03 17:54:05 +00:00 | 
				
					
						|  Jason Merrill | 734f50238f | * many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus. From-SVN: r193392 | 2012-11-10 12:27:22 -05:00 | 
				
					
						|  Jonathan Wakely | b821466067 | tuple: Implement uses-allocator construction. 2011-05-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
	* include/std/tuple: Implement uses-allocator construction.
	* include/bits/allocator.h (uses_allocator): Move to ...
	* include/bits/uses_allocator.h: New file.
	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* testsuite/20_util/uses_allocator/cons_neg.cc: New.
	* testsuite/20_util/uses_allocator/construction.cc: New.
	* testsuite/20_util/tuple/cons/allocate_noncopyable.cc: New.
	* testsuite/20_util/tuple/cons/allocators.cc: New.
From-SVN: r174443 | 2011-05-30 17:31:17 +01:00 |