re PR libstdc++/48521 ([C++0x] std::result_of doesn't work with pointer to member)
authorJonathan Wakely <jwakely.gcc@gmail.com>
Tue, 19 Apr 2011 13:26:08 +0000 (13:26 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 19 Apr 2011 13:26:08 +0000 (14:26 +0100)
commitbe7f782278465ae177c717f3b898906201c2471c
tree46bddda6e0625793f71e6f9abbe316c4f086c355
parentd39132ea9b9d1a740bfc169326020fc28d78ba81
re PR libstdc++/48521 ([C++0x] std::result_of doesn't work with pointer to member)

2011-04-19  Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/48521
* include/std/type_traits (result_of): Handle pointer to member.
* include/std/functional (__invoke): Likewise.
(_Function_to_function_pointer): Remove.
(_Reference_wrapper_base): Provide nested types independent of
unary_function and binary_function.
(reference_wrapper::operator()): DR 2017.
(ref(const A&&), cref(const A&&): Define as deleted.
* include/std/future (async): Simplify SFINAE and use result_of to
support pointer to member.
* testsuite/20_util/reference_wrapper/invoke.cc: Test pointer to
member.
* testsuite/20_util/reference_wrapper/24803.cc: Likewise.
* testsuite/20_util/reference_wrapper/typedefs.cc: Test for types
instead of derivation from unary_function and binary_function.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/reference_wrapper/invoke-2.cc: New.
* testsuite/20_util/reference_wrapper/ref_neg.c: New.
* testsuite/20_util/reference_wrapper/typedefs-3.c: New.

From-SVN: r172709
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/functional
libstdc++-v3/include/std/future
libstdc++-v3/include/std/type_traits
libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
libstdc++-v3/testsuite/20_util/reference_wrapper/24803.cc
libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/reference_wrapper/invoke.cc
libstdc++-v3/testsuite/20_util/reference_wrapper/ref_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs.cc