sammccall added a comment. Thanks for comments! (Still not done, adding tests)
================ Comment at: clangd/global-symbol-builder/GlobalSymbolBuilderMain.cpp:67 + // XXX this is just to make running the tool fast during dev! + bool BeginInvocation(CompilerInstance &CI) override { + const auto &Inputs = CI.getInvocation().getFrontendOpts().Inputs; ---------------- hokein wrote: > It is fine for debugging, but I think we don't want this behavior by default. > > global-symbol-builder also supports running a single TU > (`global-symbol-builder /path/to/file`), which is sufficient for debugging, I > think? > Yeah, I'm not going to check this in, thus the XXX comment :-) Single TU isn't enough - it doesn't test the reducer. On the other hand the full compilation database is too big. So this option would actually be useful! But it doesn't belong here. ================ Comment at: clangd/index/Index.h:131 SymbolLocation CanonicalDeclaration; + SymbolLocation Definition; ---------------- hokein wrote: > We might want to update the comment above. I think the comment above is still valid, but added one for definition. ================ Comment at: clangd/index/Merge.cpp:71 + if (!S.CanonicalDeclaration || R.Definition) S.CanonicalDeclaration = R.CanonicalDeclaration; if (S.CompletionLabel == "") ---------------- ioeric wrote: > Do we also need to copy other information such as completion detail, since > forward declarations usually have minimum symbol information? Done. Now if one of the symbols has a definition and the other doesn't, we prefer the one that does. Otherwise we fall back to preferring L over R. This means we prefer a definition from the global index over a declaration from the local one, which seems OK for now. Repository: rCTE Clang Tools Extra https://reviews.llvm.org/D42942 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits