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); }
tree build_lambda_expr (void) { tree lambda = make_node (LAMBDA_EXPR); LAMBDA_EXPR_DEFAULT_CAPTURE_MODE (lambda) = CPLD_NONE; LAMBDA_EXPR_CAPTURE_LIST (lambda) = NULL_TREE; LAMBDA_EXPR_THIS_CAPTURE (lambda) = NULL_TREE; LAMBDA_EXPR_PENDING_PROXIES (lambda) = NULL; LAMBDA_EXPR_RETURN_TYPE (lambda) = NULL_TREE; LAMBDA_EXPR_MUTABLE_P (lambda) = false; return lambda; }