[PATCH] D41491: [clangd] Add a tool to build YAML-format global symbols.

Haojian Wu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 22 06:08:13 PST 2017

hokein added a comment.

In https://reviews.llvm.org/D41491#963103, @sammccall wrote:

> Thanks for the simplification!
>  How long does it take to run over LLVM on your machine?

It took < 10 minutes (vs 20 minutes with python script) to run over LLVM.

Comment at: clangd/global-symbol-builder/GlobalSymbolBuilderMain.cpp:45
+    IndexOpts.SystemSymbolFilter =
+        index::IndexingOptions::SystemSymbolFilterKind::All;
+    IndexOpts.IndexFunctionLocals = false;
sammccall wrote:
> out of curiosity, what does this do?
No official document on this :(
IIUC, this is a filter option to control whether we get symbols from the system code (like std library). `All` means we index all of them.

Comment at: clangd/global-symbol-builder/GlobalSymbolBuilderMain.cpp:57
+static cl::OptionCategory GlobalSymbolCategory("global-symbol-builder options");
sammccall wrote:
> you could avoid opt parsing, opening files and dealing with errors etc by just writing to llvm::outs() and running with > foo.yaml - up to you
Good idea. Done.

  rCTE Clang Tools Extra


More information about the cfe-commits mailing list