Commit a78cbe29 by Aldy Hernandez Committed by Aldy Hernandez

ptree.c (cxx_print_lambda_node): New.

	* ptree.c (cxx_print_lambda_node): New.
	(cxx_print_xnode): Handle LAMBDA_EXPR.

From-SVN: r221249
parent 3ffa7801
2015-03-06 Aldy Hernandez <aldyh@redhat.com>
* ptree.c (cxx_print_lambda_node): New.
(cxx_print_xnode): Handle LAMBDA_EXPR.
2015-03-03 Aldy Hernandez <aldyh@redhat.com> 2015-03-03 Aldy Hernandez <aldyh@redhat.com>
PR c++/65295 PR c++/65295
......
...@@ -204,6 +204,34 @@ cxx_print_identifier (FILE *file, tree node, int indent) ...@@ -204,6 +204,34 @@ cxx_print_identifier (FILE *file, tree node, int indent)
} }
void void
cxx_print_lambda_node (FILE *file, tree node, int indent)
{
if (LAMBDA_EXPR_MUTABLE_P (node))
fprintf (file, " /mutable");
fprintf (file, " default_capture_mode=[");
switch (LAMBDA_EXPR_DEFAULT_CAPTURE_MODE (node))
{
case CPLD_NONE:
fprintf (file, "NONE");
break;
case CPLD_COPY:
fprintf (file, "COPY");
break;
case CPLD_REFERENCE:
fprintf (file, "CPLD_REFERENCE");
break;
default:
fprintf (file, "??");
break;
}
fprintf (file, "] ");
print_node (file, "capture_list", LAMBDA_EXPR_CAPTURE_LIST (node), indent + 4);
print_node (file, "this_capture", LAMBDA_EXPR_THIS_CAPTURE (node), indent + 4);
print_node (file, "return_type", LAMBDA_EXPR_RETURN_TYPE (node), indent + 4);
print_node (file, "closure", LAMBDA_EXPR_CLOSURE (node), indent + 4);
}
void
cxx_print_xnode (FILE *file, tree node, int indent) cxx_print_xnode (FILE *file, tree node, int indent)
{ {
switch (TREE_CODE (node)) switch (TREE_CODE (node))
...@@ -243,6 +271,9 @@ cxx_print_xnode (FILE *file, tree node, int indent) ...@@ -243,6 +271,9 @@ cxx_print_xnode (FILE *file, tree node, int indent)
print_node (file, "pattern", DEFERRED_NOEXCEPT_PATTERN (node), indent+4); print_node (file, "pattern", DEFERRED_NOEXCEPT_PATTERN (node), indent+4);
print_node (file, "args", DEFERRED_NOEXCEPT_ARGS (node), indent+4); print_node (file, "args", DEFERRED_NOEXCEPT_ARGS (node), indent+4);
break; break;
case LAMBDA_EXPR:
cxx_print_lambda_node (file, node, indent);
break;
default: default:
break; break;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment