diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2012-01-05 03:35:19 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2012-01-05 03:35:19 +0000 |
commit | ec9ea7200718478e8a976529defbe21942a11c9c (patch) | |
tree | 52de9c7edea7849591dbf5b5438dbc0a46748293 /lib/Parse/ParseExprCXX.cpp | |
parent | edb9459c43dec5f376020f2b53833dee6549e11d (diff) |
More lambda work. Tweak the Sema interface slightly. Start adding the pieces to build the lambda class and its call operator. Create an actual scope for the lambda body.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147595 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseExprCXX.cpp')
-rw-r--r-- | lib/Parse/ParseExprCXX.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/Parse/ParseExprCXX.cpp b/lib/Parse/ParseExprCXX.cpp index 96f8709ba5..e54858f747 100644 --- a/lib/Parse/ParseExprCXX.cpp +++ b/lib/Parse/ParseExprCXX.cpp @@ -711,8 +711,6 @@ ExprResult Parser::ParseLambdaExpressionAfterIntroducer( PrettyStackTraceLoc CrashInfo(PP.getSourceManager(), LambdaBeginLoc, "lambda expression parsing"); - Actions.ActOnLambdaStart(LambdaBeginLoc, getCurScope()); - // Parse lambda-declarator[opt]. DeclSpec DS(AttrFactory); Declarator D(DS, Declarator::LambdaExprContext); @@ -792,11 +790,10 @@ ExprResult Parser::ParseLambdaExpressionAfterIntroducer( DeclLoc, DeclEndLoc, D, TrailingReturnType), Attr, DeclEndLoc); - - // Inform sema that we are starting a block. - Actions.ActOnLambdaArguments(D, getCurScope()); } + Actions.ActOnStartOfLambdaDefinition(Intro, D, getCurScope()); + // Parse compound-statement. if (!Tok.is(tok::l_brace)) { Diag(Tok, diag::err_expected_lambda_body); |