[clang-tools-extra] [clangd] Store documentation when indexing standard library (PR #133681)

Nathan Ridge via cfe-commits cfe-commits at lists.llvm.org
Sun Apr 20 19:44:47 PDT 2025


HighCommander4 wrote:

> I was talking about a change like [kadircet at ff0c31d](https://github.com/kadircet/llvm-project/commit/ff0c31d232b2aed9e95d69d16a9dfbb9babea711)

Thanks for the more fleshed-out suggestion.

As written, this would also have the following effects:

 1. we no longer use `SymbolOrigin::StdLib` for collected symbols
 2. we run the symbol collector with `CollectMainFileSymbols = true`
 3. we use the indexing option `SystemSymbolFilterKind::DeclarationsOnly`
 4. we no longer use [this](https://searchfox.org/llvm/rev/bb21a6819b3fb9d689de776f7ee768030dfbacea/clang-tools-extra/clangd/index/IndexAction.cpp#143-148) "deeply nested" optimization
 5. (maybe others, I haven't compared `clangd::IndexAction` to `SyntaxOnlyAction` + `indexTopLevelDecls()` in great depth)

Would I be right to say that (1) and (2) are undesirable? ((3) may actually be an improvement, and (4) may not make any difference as I'm guessing standard library implementations are unlikely to contain symbols with nesting depth 10 or more.)

To fix (1) and (2), I think we would need to add a new parameter to the `indexHeaderSymbols` interface. If that seems preferable to you over adding a parameter to `createStaticIndexingAction`, I'm happy to revise the patch along these lines.

https://github.com/llvm/llvm-project/pull/133681


More information about the cfe-commits mailing list