Index: clang-tidy/modernize/LoopConvertUtils.h =================================================================== --- clang-tidy/modernize/LoopConvertUtils.h +++ clang-tidy/modernize/LoopConvertUtils.h @@ -337,7 +337,8 @@ bool TraverseArraySubscriptExpr(ArraySubscriptExpr *E); bool TraverseCXXMemberCallExpr(CXXMemberCallExpr *MemberCall); bool TraverseCXXOperatorCallExpr(CXXOperatorCallExpr *OpCall); - bool TraverseLambdaCapture(LambdaExpr *LE, const LambdaCapture *C); + bool TraverseLambdaCapture(LambdaExpr *LE, const LambdaCapture *C, + Expr *Init); bool TraverseMemberExpr(MemberExpr *Member); bool TraverseUnaryDeref(UnaryOperator *Uop); bool VisitDeclRefExpr(DeclRefExpr *E); Index: clang-tidy/modernize/LoopConvertUtils.cpp =================================================================== --- clang-tidy/modernize/LoopConvertUtils.cpp +++ clang-tidy/modernize/LoopConvertUtils.cpp @@ -763,7 +763,8 @@ /// } /// \endcode bool ForLoopIndexUseVisitor::TraverseLambdaCapture(LambdaExpr *LE, - const LambdaCapture *C) { + const LambdaCapture *C, + Expr *Init) { if (C->capturesVariable()) { const VarDecl *VDecl = C->getCapturedVar(); if (areSameVariable(IndexVar, cast(VDecl))) { @@ -776,7 +777,7 @@ C->getLocation())); } } - return VisitorBase::TraverseLambdaCapture(LE, C); + return VisitorBase::TraverseLambdaCapture(LE, C, Init); } /// \brief If we find that another variable is created just to refer to the loop Index: modularize/Modularize.cpp =================================================================== --- modularize/Modularize.cpp +++ modularize/Modularize.cpp @@ -571,7 +571,10 @@ return true; } bool TraverseConstructorInitializer(CXXCtorInitializer *Init) { return true; } - bool TraverseLambdaCapture(LambdaCapture C) { return true; } + bool TraverseLambdaCapture(LambdaExpr *LE, const LambdaCapture *C, + Expr *Init) { + return true; + } // Check 'extern "*" {}' block for #include directives. bool VisitLinkageSpecDecl(LinkageSpecDecl *D) { @@ -756,7 +759,10 @@ return true; } bool TraverseConstructorInitializer(CXXCtorInitializer *Init) { return true; } - bool TraverseLambdaCapture(LambdaCapture C) { return true; } + bool TraverseLambdaCapture(LambdaExpr *LE, const LambdaCapture *C, + Expr *Init) { + return true; + } // Check 'extern "*" {}' block for #include directives. bool VisitLinkageSpecDecl(LinkageSpecDecl *D) {