hokein added inline comments.
================ Comment at: clangd/XRefs.cpp:201 std::vector<MacroDecl> MacroInfos = DeclMacrosFinder->takeMacroInfos(); + if (!MacroInfos.empty()) { + for (auto Item : MacroInfos) { ---------------- ilya-biryukov wrote: > I wonder whether we should fix the `DeclrationAndMacrosFinder` to not return > declarations coming from macro instantiations instead. > There are other clients (e.g. document highlights) that will probably break > in the same way. > > Do you think it would be possible and it would make sense for > `DeclrationAndMacrosFinder` to only return a macro in this case and not > return Decls coming from macro expansions? I thought about it initially, but the information provided `handleDeclOccurrence` is limited...the occurrence location (`FID` and `Offset`) is expansion location (which is not always we want). That being said, when GoToDefinition on a macro, all declarations inside the macro body will be picked up. In document hover implementation, we also use the same mechanism to avoid this problem :( Repository: rCTE Clang Tools Extra https://reviews.llvm.org/D44293 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits