nridge updated this revision to Diff 290379. nridge added a comment. Fix typo
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87257/new/ https://reviews.llvm.org/D87257 Files: clang-tools-extra/clangd/unittests/XRefsTests.cpp clang/lib/Index/IndexBody.cpp Index: clang/lib/Index/IndexBody.cpp =================================================================== --- clang/lib/Index/IndexBody.cpp +++ clang/lib/Index/IndexBody.cpp @@ -391,11 +391,13 @@ if (C->capturesThis() || C->capturesVLAType()) return true; + if (!base::TraverseStmt(Init)) + return false; + if (C->capturesVariable() && IndexCtx.shouldIndexFunctionLocalSymbols()) return IndexCtx.handleReference(C->getCapturedVar(), C->getLocation(), Parent, ParentDC, SymbolRoleSet()); - // FIXME: Lambda init-captures. return true; } Index: clang-tools-extra/clangd/unittests/XRefsTests.cpp =================================================================== --- clang-tools-extra/clangd/unittests/XRefsTests.cpp +++ clang-tools-extra/clangd/unittests/XRefsTests.cpp @@ -1589,6 +1589,12 @@ [[Vector]]<int> x2; Vector<double> y; )cpp", + R"cpp(// Lambda capture initializer + void foo() { + int [[w^aldo]] = 42; + auto lambda = [x = [[waldo]]](){}; + } + )cpp", }; for (const char *Test : Tests) { Annotations T(Test);
Index: clang/lib/Index/IndexBody.cpp =================================================================== --- clang/lib/Index/IndexBody.cpp +++ clang/lib/Index/IndexBody.cpp @@ -391,11 +391,13 @@ if (C->capturesThis() || C->capturesVLAType()) return true; + if (!base::TraverseStmt(Init)) + return false; + if (C->capturesVariable() && IndexCtx.shouldIndexFunctionLocalSymbols()) return IndexCtx.handleReference(C->getCapturedVar(), C->getLocation(), Parent, ParentDC, SymbolRoleSet()); - // FIXME: Lambda init-captures. return true; } Index: clang-tools-extra/clangd/unittests/XRefsTests.cpp =================================================================== --- clang-tools-extra/clangd/unittests/XRefsTests.cpp +++ clang-tools-extra/clangd/unittests/XRefsTests.cpp @@ -1589,6 +1589,12 @@ [[Vector]]<int> x2; Vector<double> y; )cpp", + R"cpp(// Lambda capture initializer + void foo() { + int [[w^aldo]] = 42; + auto lambda = [x = [[waldo]]](){}; + } + )cpp", }; for (const char *Test : Tests) { Annotations T(Test);
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits