[clang-tools-extra] c6cb47b - [clangd] Collect main file refs by default
Nathan Ridge via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 25 17:34:10 PST 2020
Author: Nathan Ridge
Date: 2020-11-25T20:33:57-05:00
New Revision: c6cb47b640ffafda113581c488a73fb62b6ea38a
URL: https://github.com/llvm/llvm-project/commit/c6cb47b640ffafda113581c488a73fb62b6ea38a
DIFF: https://github.com/llvm/llvm-project/commit/c6cb47b640ffafda113581c488a73fb62b6ea38a.diff
LOG: [clangd] Collect main file refs by default
This is needed for call hierarchy to be able to find callers of
main-file-only functions.
Differential Revision: https://reviews.llvm.org/D92000
Added:
Modified:
clang-tools-extra/clangd/ClangdServer.h
clang-tools-extra/clangd/tool/ClangdMain.cpp
clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/ClangdServer.h b/clang-tools-extra/clangd/ClangdServer.h
index b6a1bd757894..35ba4686cc9a 100644
--- a/clang-tools-extra/clangd/ClangdServer.h
+++ b/clang-tools-extra/clangd/ClangdServer.h
@@ -106,7 +106,7 @@ class ClangdServer {
bool BackgroundIndex = false;
/// Store refs to main-file symbols in the index.
- bool CollectMainFileRefs = false;
+ bool CollectMainFileRefs = true;
/// If set, use this index to augment code completion results.
SymbolIndex *StaticIndex = nullptr;
diff --git a/clang-tools-extra/clangd/tool/ClangdMain.cpp b/clang-tools-extra/clangd/tool/ClangdMain.cpp
index 5c89e423cde4..d0eab3650750 100644
--- a/clang-tools-extra/clangd/tool/ClangdMain.cpp
+++ b/clang-tools-extra/clangd/tool/ClangdMain.cpp
@@ -494,7 +494,7 @@ opt<bool> CollectMainFileRefs{
"collect-main-file-refs",
cat(Misc),
desc("Store references to main-file-only symbols in the index"),
- init(false),
+ init(ClangdServer::Options().CollectMainFileRefs),
};
#if CLANGD_ENABLE_REMOTE
diff --git a/clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp b/clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
index b25d3fde0002..f4a9b2fa2d13 100644
--- a/clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
+++ b/clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
@@ -188,8 +188,10 @@ TEST_F(BackgroundIndexTest, IndexTwoFiles) {
size_t CacheHits = 0;
MemoryShardStorage MSS(Storage, CacheHits);
OverlayCDB CDB(/*Base=*/nullptr);
- BackgroundIndex Idx(FS, CDB, [&](llvm::StringRef) { return &MSS; },
- /*Opts=*/{});
+ BackgroundIndex::Options Opts;
+ Opts.CollectMainFileRefs = true;
+ BackgroundIndex Idx(
+ FS, CDB, [&](llvm::StringRef) { return &MSS; }, Opts);
tooling::CompileCommand Cmd;
Cmd.Filename = testPath("root/A.cc");
@@ -201,7 +203,7 @@ TEST_F(BackgroundIndexTest, IndexTwoFiles) {
EXPECT_THAT(runFuzzyFind(Idx, ""),
UnorderedElementsAre(AllOf(Named("common"), NumReferences(1U)),
AllOf(Named("A_CC"), NumReferences(0U)),
- AllOf(Named("g"), NumReferences(0U)),
+ AllOf(Named("g"), NumReferences(1U)),
AllOf(Named("f_b"), Declared(),
Not(Defined()), NumReferences(0U))));
@@ -214,7 +216,7 @@ TEST_F(BackgroundIndexTest, IndexTwoFiles) {
EXPECT_THAT(runFuzzyFind(Idx, ""),
UnorderedElementsAre(AllOf(Named("common"), NumReferences(5U)),
AllOf(Named("A_CC"), NumReferences(0U)),
- AllOf(Named("g"), NumReferences(0U)),
+ AllOf(Named("g"), NumReferences(1U)),
AllOf(Named("f_b"), Declared(), Defined(),
NumReferences(1U))));
@@ -238,7 +240,8 @@ TEST_F(BackgroundIndexTest, MainFileRefs) {
FS.Files[testPath("root/A.cc")] =
"#include \"A.h\"\nstatic void main_sym() { (void)header_sym; }";
- // Check the behaviour with CollectMainFileRefs = false (the default).
+ // Check the behaviour with CollectMainFileRefs = false (the default
+ // at the SymbolCollector level).
{
llvm::StringMap<std::string> Storage;
size_t CacheHits = 0;
More information about the cfe-commits
mailing list