gcc/libstdc++-v3/include
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
..
backward Enable lightweight checks with _GLIBCXX_ASSERTIONS. 2015-09-09 18:12:47 +01:00
bits Make the default constructors of tuple and pair conditionally explicit. 2015-11-03 10:41:40 +02:00
c Add C++11 header <cuchar>. 2015-09-04 12:13:34 +01:00
c_compatibility Add C++11 header <cuchar>. 2015-09-04 12:13:34 +01:00
c_global Add C++11 header <cuchar>. 2015-09-04 12:13:34 +01:00
c_std Add C++11 header <cuchar>. 2015-09-04 12:13:34 +01:00
debug 2015-09-17 François Dumont <fdumont@gcc.gnu.org> 2015-09-17 19:23:26 +00:00
decimal Update copyright years. 2015-01-05 13:33:28 +01:00
experimental Add include/experimental/bits dir 2015-10-09 12:11:54 +01:00
ext opt_random.h: Include pmmintrin.h instead of x86intrin.h, and only do so when __SSE3__ 2015-10-13 20:55:44 +00:00
parallel Update copyright years. 2015-01-05 13:33:28 +01:00
precompiled Fix errors due to extra includes in extc++.h 2015-09-18 12:21:05 +01:00
profile c++config (_GLIBCXX_NOEXCEPT_IF): Define. 2015-07-13 18:15:48 +01:00
std Make the default constructors of tuple and pair conditionally explicit. 2015-11-03 10:41:40 +02:00
tr1 Use atomics in guard.cc. 2015-06-12 09:49:41 +00:00
tr2 Update copyright years. 2015-01-05 13:33:28 +01:00
Makefile.am Add include/experimental/bits dir 2015-10-09 12:11:54 +01:00
Makefile.in Add include/experimental/bits dir 2015-10-09 12:11:54 +01:00