gcc/libstdc++-v3/include/bits
Ville Voutilainen f763219373 Make the default constructors of tuple and pair conditionally explicit.
2015-11-03  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Make the default constructors of tuple and pair conditionally explicit.
	* include/std/type_traits (is_unsigned, __is_array_unknown_bounds,
	__is_default_constructible_atom, __is_default_constructible_safe,
	__is_direct_constructible_new_safe, __is_direct_constructible_ref_cast,
	__is_nt_default_constructible_impl, is_nothrow_default_constructible,
	is_nothrow_constructible, is_nothrow_assignable,
	is_trivially_constructible, is_trivially_copy_constructible,
	is_trivially_move_constructible, is_trivially_assignable,
	is_trivially_copy_assignable, is_trivially_move_assignable,
	is_trivially_destructible): Simplify.
	* include/std/type_traits (
	__do_is_implicitly_default_constructible_impl,
	__is_implicitly_default_constructible_impl,
	__is_implicitly_default_constructible_safe,
	__is_implicitly_default_constructible): New.
	* include/bits/stl_pair.h (pair::pair()): Use it.
	* include/std/tuple (tuple<_T1, _T2>::tuple): Use it.
	* include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New.
	* include/std/tuple (tuple<_Types...>::tuple()): Use it.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
	* testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc: New.
	* testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_implicitly_default_constructible/value.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise.
	* testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
	* testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.

From-SVN: r229699
2015-11-03 10:41:40 +02:00
..
algorithmfwd.h Add __is_nothrow_swappable and take it into use. 2015-06-05 15:44:26 +01:00
alloc_traits.h alloc_traits.h: Add feature-test macro. 2015-08-13 14:57:41 +01:00
allocated_ptr.h * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof. 2015-06-16 23:33:06 +01:00
allocator.h Only do shrink_to_fit() when exceptions enabled 2015-09-17 15:56:46 +01:00
atomic_base.h Handle alignment in __atomic_is_lock_free 2015-09-17 16:46:04 +01:00
atomic_futex.h * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX] 2015-07-24 17:30:04 +01:00
basic_ios.h Update copyright years. 2015-01-05 13:33:28 +01:00
basic_ios.tcc Update copyright years. 2015-01-05 13:33:28 +01:00
basic_string.h Use noexcept instead of _GLIBCXX_NOEXCEPT 2015-10-02 23:13:12 +01:00
basic_string.tcc Implement N4258 noexcept for std::basic_string. 2015-09-11 12:02:14 +01:00
boost_concept_check.h Update copyright years. 2015-01-05 13:33:28 +01:00
c++0x_warning.h Update copyright years. 2015-01-05 13:33:28 +01:00
c++14_warning.h Update copyright years. 2015-01-05 13:33:28 +01:00
c++config Enable lightweight checks with _GLIBCXX_ASSERTIONS. 2015-09-09 18:12:47 +01:00
char_traits.h re PR libstdc++/65049 (Undefined behaviour with std::char_traits<char>) 2015-08-24 14:43:54 +01:00
codecvt.h Add C++11 std::string constructors for locales and facets. 2015-01-20 11:50:51 +00:00
concept_check.h Update copyright years. 2015-01-05 13:33:28 +01:00
cpp_type_traits.h stl_algobase.h (__miter_base): Move... 2015-07-16 19:17:26 +00:00
deque.tcc Update copyright years. 2015-01-05 13:33:28 +01:00
enable_special_members.h Update copyright years. 2015-01-05 13:33:28 +01:00
forward_list.h c++config (_GLIBCXX_NOEXCEPT_IF): Define. 2015-07-13 18:15:48 +01:00
forward_list.tcc forward_list.h (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to rvalue-reference. 2015-06-17 18:45:45 +01:00
fstream.tcc Update copyright years. 2015-01-05 13:33:28 +01:00
functexcept.h Update copyright years. 2015-01-05 13:33:28 +01:00
functional_hash.h re PR libstdc++/60970 (Support std::hash with enum types (LWG 2148)) 2015-07-29 13:41:23 +01:00
gslice.h Update copyright years. 2015-01-05 13:33:28 +01:00
gslice_array.h Update copyright years. 2015-01-05 13:33:28 +01:00
hashtable.h c++config (_GLIBCXX_NOEXCEPT_IF): Define. 2015-07-13 18:15:48 +01:00
hashtable_policy.h hashtable_policy.h (_Prime_rehash_policy::_S_n_primes): Delete. 2015-04-30 07:13:37 +00:00
indirect_array.h Update copyright years. 2015-01-05 13:33:28 +01:00
ios_base.h Update copyright years. 2015-01-05 13:33:28 +01:00
istream.tcc Update copyright years. 2015-01-05 13:33:28 +01:00
list.tcc C++11 allocator support for std::list. 2015-06-17 21:36:42 +01:00
locale_classes.h locale_classes.h (locale::facet): Delete copy operations in C++11 mode. 2015-05-01 17:50:31 +01:00
locale_classes.tcc Update copyright years. 2015-01-05 13:33:28 +01:00
locale_conv.h Allow Filesystem TS to compile without wchar_t 2015-10-02 20:38:38 +01:00
locale_facets.h Add C++11 std::string constructors for locales and facets. 2015-01-20 11:50:51 +00:00
locale_facets.tcc Update copyright years. 2015-01-05 13:33:28 +01:00
locale_facets_nonio.h Add C++11 std::string constructors for locales and facets. 2015-01-20 11:50:51 +00:00
locale_facets_nonio.tcc re PR libstdc++/64657 (Support iterators with overloaded operator-comma) 2015-04-29 16:22:13 +01:00
localefwd.h Update copyright years. 2015-01-05 13:33:28 +01:00
mask_array.h Update copyright years. 2015-01-05 13:33:28 +01:00
memoryfwd.h Update copyright years. 2015-01-05 13:33:28 +01:00
move.h Add __is_nothrow_swappable and take it into use. 2015-06-05 15:44:26 +01:00
mutex.h Add portable timed_mutex and recursive_timed_mutex. 2015-09-04 12:23:44 +01:00
ostream.tcc Update copyright years. 2015-01-05 13:33:28 +01:00
ostream_insert.h Update copyright years. 2015-01-05 13:33:28 +01:00
parse_numbers.h Update copyright years. 2015-01-05 13:33:28 +01:00
postypes.h Update copyright years. 2015-01-05 13:33:28 +01:00
predefined_ops.h Update copyright years. 2015-01-05 13:33:28 +01:00
ptr_traits.h * include/bits/ptr_traits.h: Include <bits/move.h> for addressof. 2015-08-18 19:04:42 +01:00
quoted_string.h locale_conv.h: Fix copyright years. 2015-05-26 10:52:25 +01:00
random.h Enable lightweight checks with _GLIBCXX_ASSERTIONS. 2015-09-09 18:12:47 +01:00
random.tcc Ensure std::generate_canonical doesn't return 1. 2015-08-26 22:27:09 +01:00
range_access.h re PR libstdc++/67374 (std::cbegin can't call valarray range access functions) 2015-08-27 20:05:19 +01:00
regex.h Enable lightweight checks with _GLIBCXX_ASSERTIONS. 2015-09-09 18:12:47 +01:00
regex.tcc Enable lightweight checks with _GLIBCXX_ASSERTIONS. 2015-09-09 18:12:47 +01:00
regex_automaton.h re PR libstdc++/67361 (std::regex_error::what() should say something about the error_code) 2015-09-19 20:56:27 +00:00
regex_automaton.tcc re PR libstdc++/67361 (std::regex_error::what() should say something about the error_code) 2015-09-19 20:56:27 +00:00
regex_compiler.h re PR libstdc++/67361 (std::regex_error::what() should say something about the error_code) 2015-09-19 20:56:27 +00:00
regex_compiler.tcc re PR libstdc++/67361 (std::regex_error::what() should say something about the error_code) 2015-09-19 20:56:27 +00:00
regex_constants.h regex.tcc: Handle regex_constants::__polynomial. 2015-04-28 04:16:48 +00:00
regex_error.h re PR libstdc++/67361 (std::regex_error::what() should say something about the error_code) 2015-09-19 20:56:27 +00:00
regex_executor.h regex_automaton.h (_State_base, _State<>): Remove _TraitsT dependency from _State<>... 2015-07-30 10:35:45 +00:00
regex_executor.tcc Enable lightweight checks with _GLIBCXX_ASSERTIONS. 2015-09-09 18:12:47 +01:00
regex_scanner.h Update copyright years. 2015-01-05 13:33:28 +01:00
regex_scanner.tcc re PR libstdc++/67361 (std::regex_error::what() should say something about the error_code) 2015-09-19 20:56:27 +00:00
shared_ptr.h Only set std::enable_shared_from_this member once. 2015-08-26 22:27:00 +01:00
shared_ptr_atomic.h Update copyright years. 2015-01-05 13:33:28 +01:00
shared_ptr_base.h Enable lightweight checks with _GLIBCXX_ASSERTIONS. 2015-09-09 18:12:47 +01:00
slice_array.h Update copyright years. 2015-01-05 13:33:28 +01:00
sstream.tcc Update copyright years. 2015-01-05 13:33:28 +01:00
stl_algo.h re PR libstdc++/60519 (Debug mode should check comparators for irreflexivity) 2015-08-25 20:27:03 +00:00
stl_algobase.h re PR libstdc++/60519 (Debug mode should check comparators for irreflexivity) 2015-08-25 20:27:03 +00:00
stl_bvector.h c++config (_GLIBCXX_NOEXCEPT_IF): Define. 2015-07-13 18:15:48 +01:00
stl_construct.h Update copyright years. 2015-01-05 13:33:28 +01:00
stl_deque.h Leave moved-from std::deque in a valid state 2015-09-24 16:46:24 +01:00
stl_function.h Update copyright years. 2015-01-05 13:33:28 +01:00
stl_heap.h re PR libstdc++/60519 (Debug mode should check comparators for irreflexivity) 2015-08-25 20:27:03 +00:00
stl_iterator.h stl_iterator_base_types.h (_Iter_base): Limit definition to pre-C++11 mode. 2015-06-29 20:17:56 +00:00
stl_iterator_base_funcs.h Enable lightweight checks with _GLIBCXX_ASSERTIONS. 2015-09-09 18:12:47 +01:00
stl_iterator_base_types.h stl_iterator_base_types.h (_Iter_base): Limit definition to pre-C++11 mode. 2015-06-29 20:17:56 +00:00
stl_list.h c++config (_GLIBCXX_NOEXCEPT_IF): Define. 2015-07-13 18:15:48 +01:00
stl_map.h alloc_traits.h: Add feature-test macro. 2015-08-13 14:57:41 +01:00
stl_multimap.h c++config (_GLIBCXX_NOEXCEPT_IF): Define. 2015-07-13 18:15:48 +01:00
stl_multiset.h c++config (_GLIBCXX_NOEXCEPT_IF): Define. 2015-07-13 18:15:48 +01:00
stl_numeric.h re PR libstdc++/64657 (Support iterators with overloaded operator-comma) 2015-04-29 16:22:13 +01:00
stl_pair.h Make the default constructors of tuple and pair conditionally explicit. 2015-11-03 10:41:40 +02:00
stl_queue.h Allocator-extended constructors for container adaptors. 2015-09-11 10:51:29 +01:00
stl_raw_storage_iter.h stl_raw_storage_iter.h (raw_storage_iterator::base()): Define (LWG 2454). 2015-05-13 14:54:46 +01:00
stl_relops.h Update copyright years. 2015-01-05 13:33:28 +01:00
stl_set.h c++config (_GLIBCXX_NOEXCEPT_IF): Define. 2015-07-13 18:15:48 +01:00
stl_stack.h Allocator-extended constructors for container adaptors. 2015-09-11 10:51:29 +01:00
stl_tempbuf.h Update copyright years. 2015-01-05 13:33:28 +01:00
stl_tree.h Implement N4279, Improved insertion interface for unique-key maps. 2015-08-09 01:57:13 +03:00
stl_uninitialized.h re PR libstdc++/64657 (Support iterators with overloaded operator-comma) 2015-06-22 16:09:14 +01:00
stl_vector.h re PR libstdc++/67066 (libstdc++-v3/src/filesystem/dir.cc fails to compile with --enable-concept-checks) 2015-08-18 19:04:32 +01:00
stream_iterator.h Update copyright years. 2015-01-05 13:33:28 +01:00
streambuf.tcc Update copyright years. 2015-01-05 13:33:28 +01:00
streambuf_iterator.h Update copyright years. 2015-01-05 13:33:28 +01:00
stringfwd.h Update copyright years. 2015-01-05 13:33:28 +01:00
unique_ptr.h Enable lightweight checks with _GLIBCXX_ASSERTIONS. 2015-09-09 18:12:47 +01:00
unordered_map.h alloc_traits.h: Add feature-test macro. 2015-08-13 14:57:41 +01:00
unordered_set.h Implement N4258 (Cleaning-up noexcept in the Library rev 3) 2015-06-26 21:10:24 +01:00
uses_allocator.h Update copyright years. 2015-01-05 13:33:28 +01:00
valarray_after.h Update copyright years. 2015-01-05 13:33:28 +01:00
valarray_array.h Update copyright years. 2015-01-05 13:33:28 +01:00
valarray_array.tcc Update copyright years. 2015-01-05 13:33:28 +01:00
valarray_before.h Update copyright years. 2015-01-05 13:33:28 +01:00
vector.tcc Update copyright years. 2015-01-05 13:33:28 +01:00