Index: clangd/index/IndexAction.h =================================================================== --- clangd/index/IndexAction.h +++ clangd/index/IndexAction.h @@ -22,7 +22,7 @@ // - include paths are always collected, and canonicalized appropriately // - references are always counted // - all references are collected (if RefsCallback is non-null) -// - the symbol origin is always Static +// - the symbol origin is set to Static if not specified by caller std::unique_ptr createStaticIndexingAction( SymbolCollector::Options Opts, std::function SymbolsCallback, Index: clangd/index/IndexAction.cpp =================================================================== --- clangd/index/IndexAction.cpp +++ clangd/index/IndexAction.cpp @@ -183,7 +183,8 @@ index::IndexingOptions::SystemSymbolFilterKind::All; Opts.CollectIncludePath = true; Opts.CountReferences = true; - Opts.Origin = SymbolOrigin::Static; + if (Opts.Origin == SymbolOrigin::Unknown) + Opts.Origin = SymbolOrigin::Static; Opts.StoreAllDocumentation = false; if (RefsCallback != nullptr) { Opts.RefFilter = RefKind::All;