Remove unnecessary LAMBDA_EXPR fields.
authorJason Merrill <jason@redhat.com>
Tue, 29 Aug 2017 20:17:02 +0000 (16:17 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 29 Aug 2017 20:17:02 +0000 (16:17 -0400)
commit9925f216d0f85e8ee20900162b5238333f8e567e
tree03c4959f775842b61df88c2ed12b2a65d36cc150
parent5d4e573b28a74218ea9db6b00f50f5e323899e6d
Remove unnecessary LAMBDA_EXPR fields.

* cp-tree.h (LAMBDA_EXPR_CLOSURE): Use TREE_TYPE.
(LAMBDA_EXPR_RETURN_TYPE): Remove.
(struct tree_lambda_expr): Remove closure and return_type fields.
* lambda.c (build_lambda_expr): Don't set LAMBDA_EXPR_RETURN_TYPE.
* pt.c (tsubst_copy_and_build): Likewise.
* parser.c (cp_parser_lambda_declarator_opt): Track return type.
(cp_parser_lambda_body): Adjust unspecified return type check.
* ptree.c (cxx_print_lambda_node): Don't print closure or
return type.

From-SVN: r251430
gcc/cp/ChangeLog
gcc/cp/cp-tree.def
gcc/cp/cp-tree.h
gcc/cp/lambda.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/ptree.c
gcc/cp/semantics.c