[PATCH] D123289: [clangd][SymbolCollector] Introduce a cache for SymbolID generation and some cleanups

Kadir Cetinkaya via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 11 02:32:05 PDT 2022


kadircet added inline comments.


================
Comment at: clang-tools-extra/clangd/index/SymbolCollector.cpp:710
     // FIXME: Populate container information for macro references.
-    MacroRefs[ID].push_back({Loc, Roles, /*Container=*/nullptr});
+    // FIXME: All macro references are marked as Spelled now, but this should be
+    // checked.
----------------
sammccall wrote:
> What does a non-spelled macro reference look like?
I don't fully understand it either (hence decided to keep it as-is), but my initial guess is nested macro expansions, e.g:
```
#define FOO(X) X
#define BAR(X) FOO(X)

BAR(int x);
```

I suppose we assume there's a reference to FOO at expansion of BAR here today. But I am not sure if `libIndex` will actually emit a macro reference for `FOO` here.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123289/new/

https://reviews.llvm.org/D123289



More information about the cfe-commits mailing list