https://github.com/kadircet requested changes to this pull request.

(sorry for the late reply, we were both OOO :()

thanks a lot for great analysis in https://github.com/clangd/clangd/issues/2344!

IIUC, the root cause is we're putting stdlib-index slabs into dynamic-index, 
but we're building those slabs as if they're static. Hence I think the fix 
should actually be limited to stdlib-index itself; we should either:
1. layer it as a static-index, so that it won't take precedence over 
dynamic-index'd symbols.
2. index using `indexHeaderSymbols` so that it gets the same treatment as rest 
of the dynamic-index'd symbols.

I must admit that it wasn't the best idea to use an option struct with some 
defaults partially in `createStaticIndexingAction`, but I think any more 
changes in there is going to muddy the waters further. the reason why we don't 
store docs for static indexing is subtle but valid (we rely on dynamic-index 
taking over and we always index docs for code-completion enabled symbols). I 
wouldn't rely on caller to decide on that.

So do you mind changing the stdlib-indexing instead? 2nd alternative I 
mentioned above might be easier, by just using a `SyntaxOnlyAction` and calling 
`indexHeaderSymbols` after running `Execute` on the action. But I haven't tried 
it myself, so I'll leave that call to you.

https://github.com/llvm/llvm-project/pull/133681
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to