@@ -4176,15 +4176,8 @@ class Sema final : public SemaBase {
4176
4176
/// return statement in the scope of a variable has the same NRVO candidate,
4177
4177
/// that candidate is an NRVO variable.
4178
4178
void computeNRVO(Stmt *Body, sema::FunctionScopeInfo *Scope);
4179
-
4180
- /// Performs semantic analysis at the end of a function body.
4181
- ///
4182
- /// \param RetainFunctionScopeInfo If \c true, the client is responsible for
4183
- /// releasing the associated \p FunctionScopeInfo. This is useful when
4184
- /// building e.g. LambdaExprs.
4185
- Decl *ActOnFinishFunctionBody(Decl *Decl, Stmt *Body,
4186
- bool IsInstantiation = false,
4187
- bool RetainFunctionScopeInfo = false);
4179
+ Decl *ActOnFinishFunctionBody(Decl *Decl, Stmt *Body);
4180
+ Decl *ActOnFinishFunctionBody(Decl *Decl, Stmt *Body, bool IsInstantiation);
4188
4181
Decl *ActOnSkippedFunctionBody(Decl *Decl);
4189
4182
void ActOnFinishInlineFunctionDef(FunctionDecl *D);
4190
4183
@@ -6881,23 +6874,23 @@ class Sema final : public SemaBase {
6881
6874
assert(!ExprEvalContexts.empty() &&
6882
6875
"Must be in an expression evaluation context");
6883
6876
return ExprEvalContexts.back();
6884
- }
6877
+ };
6885
6878
6886
6879
ExpressionEvaluationContextRecord ¤tEvaluationContext() {
6887
6880
assert(!ExprEvalContexts.empty() &&
6888
6881
"Must be in an expression evaluation context");
6889
6882
return ExprEvalContexts.back();
6890
- }
6883
+ };
6891
6884
6892
6885
ExpressionEvaluationContextRecord &parentEvaluationContext() {
6893
6886
assert(ExprEvalContexts.size() >= 2 &&
6894
6887
"Must be in an expression evaluation context");
6895
6888
return ExprEvalContexts[ExprEvalContexts.size() - 2];
6896
- }
6889
+ };
6897
6890
6898
6891
const ExpressionEvaluationContextRecord &parentEvaluationContext() const {
6899
6892
return const_cast<Sema *>(this)->parentEvaluationContext();
6900
- }
6893
+ };
6901
6894
6902
6895
bool isAttrContext() const {
6903
6896
return ExprEvalContexts.back().ExprContext ==
@@ -9147,7 +9140,8 @@ class Sema final : public SemaBase {
9147
9140
9148
9141
/// Complete a lambda-expression having processed and attached the
9149
9142
/// lambda body.
9150
- ExprResult BuildLambdaExpr(SourceLocation StartLoc, SourceLocation EndLoc);
9143
+ ExprResult BuildLambdaExpr(SourceLocation StartLoc, SourceLocation EndLoc,
9144
+ sema::LambdaScopeInfo *LSI);
9151
9145
9152
9146
/// Get the return type to use for a lambda's conversion function(s) to
9153
9147
/// function pointer type, given the type of the call operator.
0 commit comments