aaron.ballman added inline comments.
================ Comment at: clang/lib/Sema/SemaLambda.cpp:539-546 void Sema::buildLambdaScope(LambdaScopeInfo *LSI, CXXMethodDecl *CallOperator, SourceRange IntroducerRange, LambdaCaptureDefault CaptureDefault, SourceLocation CaptureDefaultLoc, - bool ExplicitParams, bool ExplicitResultType, - bool Mutable) { + bool ExplicitParams, bool Mutable) { buildLambdaScopeCaptures(LSI, CallOperator, IntroducerRange, CaptureDefault, CaptureDefaultLoc, ExplicitParams, Mutable); ---------------- IIRC, we added `buildLambdaScope()` quite recently, so perhaps that function should go away now and callers just call `buildLambdaScopeCaptures()` directly? ================ Comment at: clang/lib/Sema/SemaLambda.cpp:1377 - ContextRAII ManglingContext(*this, Class->getDeclContext()); + Method->setInnerLocStart(LambdaLoc); + CompleteLambdaCallOperator( ---------------- Out of curiosity, why isn't this part of `CompleteLambdaCallOperator()` like all the other setters? (Should template instantiation also be setting this?) ================ Comment at: clang/lib/Sema/SemaLambda.cpp:1378-1383 + CompleteLambdaCallOperator( + Method, Intro.Range.getBegin(), ParamInfo.getTrailingRequiresClause(), + MethodTyInfo, ParamInfo.getDeclSpec().getConstexprSpecifier(), Params, + ExplicitResultType); + ContextRAII ManglingContext(*this, Class->getDeclContext()); ---------------- The previous logic was to enter a mangling context and then check params, but the new logic checks params outside of the mangling context. Is that intentional? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124012/new/ https://reviews.llvm.org/D124012 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits