Core 975
authorJason Merrill <jason@redhat.com>
Tue, 23 Aug 2011 16:03:15 +0000 (12:03 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 23 Aug 2011 16:03:15 +0000 (12:03 -0400)
commit9b8662c2b04820f6024648ff863b83dbbf07844f
tree095408f307618afaaf5d92253bb0546486159200
parent2787914706395bf7864bdc76491ada1b0a552cae
Core 975

Core 975
* decl.c (cxx_init_decl_processing): Initialize
dependent_lambda_return_type_node.
* cp-tree.h (cp_tree_index): Add CPTI_DEPENDENT_LAMBDA_RETURN_TYPE.
(dependent_lambda_return_type_node): Define.
(DECLTYPE_FOR_LAMBDA_RETURN): Remove.
* semantics.c (lambda_return_type): Handle overloaded function.
Use dependent_lambda_return_type_node instead of
DECLTYPE_FOR_LAMBDA_RETURN.
(apply_lambda_return_type): Don't check dependent_type_p.
* pt.c (tsubst_copy_and_build): Handle lambda return type deduction.
(instantiate_class_template_1): Likewise.
(tsubst): Don't use DECLTYPE_FOR_LAMBDA_RETURN.
* mangle.c (write_type): Likewise.
* typeck.c (structural_comptypes): Likewise.
(check_return_expr): Handle dependent_lambda_return_type_node.

From-SVN: r177995
12 files changed:
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/mangle.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce-ext-neg.C
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce-ext-neg2.C
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce-neg.C
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce2.C