Use a range for LAMBDA_EXPR_LOCATION.
* parser.c (cp_parser_lambda_expression): Use a range for LAMBDA_EXPR_LOCATION. From-SVN: r261727
This commit is contained in:
parent
44e3e545a3
commit
c0e11c6afb
2 changed files with 9 additions and 0 deletions
|
@ -1,5 +1,8 @@
|
|||
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.
|
||||
|
|
|
@ -10198,6 +10198,12 @@ cp_parser_lambda_expression (cp_parser* parser)
|
|||
/* 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
|
||||
|
|
Loading…
Add table
Reference in a new issue