diff options
Diffstat (limited to 'clang/lib/Parse/ParseExprCXX.cpp')
-rw-r--r-- | clang/lib/Parse/ParseExprCXX.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/clang/lib/Parse/ParseExprCXX.cpp b/clang/lib/Parse/ParseExprCXX.cpp index 68bd45e38d1..355503caa9b 100644 --- a/clang/lib/Parse/ParseExprCXX.cpp +++ b/clang/lib/Parse/ParseExprCXX.cpp @@ -716,16 +716,9 @@ ExprResult Parser::ParseLambdaExpression() { Optional<unsigned> DiagID = ParseLambdaIntroducer(Intro); if (DiagID) { Diag(Tok, DiagID.getValue()); - auto SkipUntilLambdaToken = [&](tok::TokenKind LambdaToken) { - // Don't skip past the end of the default argument. - SkipUntil(LambdaToken, tok::cxx_defaultarg_end, - StopAtSemi | StopBeforeMatch); - if (Tok.is(LambdaToken)) - ConsumeAnyToken(); - }; - SkipUntilLambdaToken(tok::r_square); - SkipUntilLambdaToken(tok::l_brace); - SkipUntilLambdaToken(tok::r_brace); + SkipUntil(tok::r_square, StopAtSemi); + SkipUntil(tok::l_brace, StopAtSemi); + SkipUntil(tok::r_brace, StopAtSemi); return ExprError(); } |