Commit c0e11c6a by Jason Merrill Committed by Jason Merrill

Use a range for LAMBDA_EXPR_LOCATION.

	* parser.c (cp_parser_lambda_expression): Use a range for
	LAMBDA_EXPR_LOCATION.

From-SVN: r261727
parent 44e3e545
2018-06-18 Jason Merrill <jason@redhat.com> 2018-06-18 Jason Merrill <jason@redhat.com>
* parser.c (cp_parser_lambda_expression): Use a range for
LAMBDA_EXPR_LOCATION.
PR c++/86200 - ICE with unexpanded pack in lambda parameter. PR c++/86200 - ICE with unexpanded pack in lambda parameter.
* pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Also look into the * pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Also look into the
function type. function type.
......
...@@ -10198,6 +10198,12 @@ cp_parser_lambda_expression (cp_parser* parser) ...@@ -10198,6 +10198,12 @@ cp_parser_lambda_expression (cp_parser* parser)
/* And now that we're done, push proxies for an enclosing lambda. */ /* And now that we're done, push proxies for an enclosing lambda. */
insert_pending_capture_proxies (); insert_pending_capture_proxies ();
/* Update the lambda expression to a range. */
cp_token *end_tok = cp_lexer_previous_token (parser->lexer);
LAMBDA_EXPR_LOCATION (lambda_expr) = make_location (token->location,
token->location,
end_tok->location);
if (ok) if (ok)
lambda_expr = build_lambda_object (lambda_expr); lambda_expr = build_lambda_object (lambda_expr);
else else
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