diff options
Diffstat (limited to 'lib/Parse/ParseExprCXX.cpp')
-rw-r--r-- | lib/Parse/ParseExprCXX.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Parse/ParseExprCXX.cpp b/lib/Parse/ParseExprCXX.cpp index fecf7b7765..af532de385 100644 --- a/lib/Parse/ParseExprCXX.cpp +++ b/lib/Parse/ParseExprCXX.cpp @@ -870,8 +870,10 @@ ExprResult Parser::ParseLambdaExpressionAfterIntroducer( // FIXME: Rename BlockScope -> ClosureScope if we decide to continue using // it. - ParseScope BodyScope(this, Scope::BlockScope | Scope::FnScope | - Scope::DeclScope); + unsigned ScopeFlags = Scope::BlockScope | Scope::FnScope | Scope::DeclScope; + if (getCurScope()->getFlags() & Scope::ThisScope) + ScopeFlags |= Scope::ThisScope; + ParseScope BodyScope(this, ScopeFlags); Actions.ActOnStartOfLambdaDefinition(Intro, D, getCurScope()); |