r229699 - in /trunk/libstdc++-v3: ChangeLog inc...
ville@gcc.gnu.org
ville@gcc.gnu.org
Tue Nov 3 08:41:00 GMT 2015
Author: ville
Date: Tue Nov 3 08:41:40 2015
New Revision: 229699
URL: https://gcc.gnu.org/viewcvs?rev=229699&root=gcc&view=rev
Log:
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.
Added:
trunk/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/
trunk/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/
trunk/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc
- copied, changed from r229697, trunk/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
trunk/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc
- copied, changed from r229697, trunk/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
trunk/libstdc++-v3/testsuite/20_util/is_implicitly_default_constructible/value.cc
- copied, changed from r229697, trunk/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/stl_pair.h
trunk/libstdc++-v3/include/std/tuple
trunk/libstdc++-v3/include/std/type_traits
trunk/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
trunk/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
trunk/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
trunk/libstdc++-v3/testsuite/20_util/pair/cons/explicit_construct.cc
trunk/libstdc++-v3/testsuite/20_util/tuple/cons/explicit_construct.cc
More information about the Gcc-cvs
mailing list