@@ -4176,15 +4176,8 @@ class Sema final : public SemaBase {
41764176 /// return statement in the scope of a variable has the same NRVO candidate,
41774177 /// that candidate is an NRVO variable.
41784178 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);
41884181 Decl *ActOnSkippedFunctionBody(Decl *Decl);
41894182 void ActOnFinishInlineFunctionDef(FunctionDecl *D);
41904183
@@ -6881,23 +6874,23 @@ class Sema final : public SemaBase {
68816874 assert(!ExprEvalContexts.empty() &&
68826875 "Must be in an expression evaluation context");
68836876 return ExprEvalContexts.back();
6884- }
6877+ };
68856878
68866879 ExpressionEvaluationContextRecord ¤tEvaluationContext() {
68876880 assert(!ExprEvalContexts.empty() &&
68886881 "Must be in an expression evaluation context");
68896882 return ExprEvalContexts.back();
6890- }
6883+ };
68916884
68926885 ExpressionEvaluationContextRecord &parentEvaluationContext() {
68936886 assert(ExprEvalContexts.size() >= 2 &&
68946887 "Must be in an expression evaluation context");
68956888 return ExprEvalContexts[ExprEvalContexts.size() - 2];
6896- }
6889+ };
68976890
68986891 const ExpressionEvaluationContextRecord &parentEvaluationContext() const {
68996892 return const_cast<Sema *>(this)->parentEvaluationContext();
6900- }
6893+ };
69016894
69026895 bool isAttrContext() const {
69036896 return ExprEvalContexts.back().ExprContext ==
@@ -9147,7 +9140,8 @@ class Sema final : public SemaBase {
91479140
91489141 /// Complete a lambda-expression having processed and attached the
91499142 /// lambda body.
9150- ExprResult BuildLambdaExpr(SourceLocation StartLoc, SourceLocation EndLoc);
9143+ ExprResult BuildLambdaExpr(SourceLocation StartLoc, SourceLocation EndLoc,
9144+ sema::LambdaScopeInfo *LSI);
91519145
91529146 /// Get the return type to use for a lambda's conversion function(s) to
91539147 /// function pointer type, given the type of the call operator.
0 commit comments