* parser.c (cp_parser_lambda_expression): Use a range for
LAMBDA_EXPR_LOCATION.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261727
138bc75d-0d04-0410-961f-
82ee72b054a4
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.
* pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Also look into the
function type.
/* And now that we're done, push proxies for an enclosing lambda. */
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)
lambda_expr = build_lambda_object (lambda_expr);
else