type_traits (is_function): Support ref-qualified functions.
authorDaniel Kruegler <daniel.kruegler@gmail.com>
Thu, 13 Jun 2013 23:18:27 +0000 (23:18 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 13 Jun 2013 23:18:27 +0000 (23:18 +0000)
commit8989803415aa72e38be56ea6d31ff240a1568ce1
tree41568700afc1e3357414f602caaee3f83b7a35b0
parent135faab69ac610c1c9d2e0228ed682222094b6ac
type_traits (is_function): Support ref-qualified functions.

2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>

* include/std/type_traits (is_function): Support ref-qualified
functions.
(is_copy_constructible, is_move_constructible, is_copy_assignable,
is_move_assignable, is_nothrow_copy_constructible,
is_nothrow_move_constructible, is_nothrow_copy_assignable,
is_nothrow_move_assignable): Implement LWG 2196.
(add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
LWG 2101.
(__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
unused.
* testsuite/20_util/add_lvalue_reference/value.cc: Extend.
* testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_assignable/value.cc: Likewise.
* testsuite/20_util/is_constructible/value-2.cc: Likewise.
* testsuite/20_util/is_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
* testsuite/20_util/is_function/value.cc: Likewise.
* testsuite/20_util/is_move_assignable/value.cc: Likewise.
* testsuite/20_util/is_move_constructible/value.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
* testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.

* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.

From-SVN: r200080
19 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/type_traits
libstdc++-v3/testsuite/20_util/add_lvalue_reference/value.cc
libstdc++-v3/testsuite/20_util/add_rvalue_reference/value.cc
libstdc++-v3/testsuite/20_util/decay/requirements/typedefs.cc
libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
libstdc++-v3/testsuite/20_util/is_assignable/value.cc
libstdc++-v3/testsuite/20_util/is_constructible/value-2.cc
libstdc++-v3/testsuite/20_util/is_copy_assignable/value.cc
libstdc++-v3/testsuite/20_util/is_copy_constructible/value.cc
libstdc++-v3/testsuite/20_util/is_function/value.cc
libstdc++-v3/testsuite/20_util/is_move_assignable/value.cc
libstdc++-v3/testsuite/20_util/is_move_constructible/value.cc
libstdc++-v3/testsuite/20_util/is_nothrow_copy_assignable/value.cc
libstdc++-v3/testsuite/20_util/is_nothrow_copy_constructible/value.cc
libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/value.cc
libstdc++-v3/testsuite/20_util/is_nothrow_move_constructible/value.cc
libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc