summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang-tools-extra/clangd/XRefs.cpp3
-rw-r--r--clang-tools-extra/unittests/clangd/SymbolInfoTests.cpp8
2 files changed, 9 insertions, 2 deletions
diff --git a/clang-tools-extra/clangd/XRefs.cpp b/clang-tools-extra/clangd/XRefs.cpp
index 2f0990a9a32..9138cf7e7ff 100644
--- a/clang-tools-extra/clangd/XRefs.cpp
+++ b/clang-tools-extra/clangd/XRefs.cpp
@@ -794,7 +794,8 @@ std::vector<SymbolDetails> getSymbolInfo(ParsedAST &AST, Position Pos) {
SymbolDetails NewMacro;
NewMacro.name = Macro.Name;
llvm::SmallString<32> USR;
- if (!index::generateUSRForMacro(NewMacro.name, Loc, SM, USR)) {
+ if (!index::generateUSRForMacro(NewMacro.name,
+ Macro.Info->getDefinitionLoc(), SM, USR)) {
NewMacro.USR = USR.str();
NewMacro.ID = SymbolID(NewMacro.USR);
}
diff --git a/clang-tools-extra/unittests/clangd/SymbolInfoTests.cpp b/clang-tools-extra/unittests/clangd/SymbolInfoTests.cpp
index 369c2e75e58..69a27f23394 100644
--- a/clang-tools-extra/unittests/clangd/SymbolInfoTests.cpp
+++ b/clang-tools-extra/unittests/clangd/SymbolInfoTests.cpp
@@ -149,7 +149,13 @@ TEST(SymbolInfoTests, All) {
#define MACRO 5\nint i = MAC^RO;
)cpp",
{CreateExpectedSymbolDetails("MACRO", "",
- "c:TestTU.cpp@55@macro@MACRO")}},
+ "c:TestTU.cpp@38@macro@MACRO")}},
+ {
+ R"cpp( // Macro reference
+ #define MACRO 5\nint i = MACRO^;
+ )cpp",
+ {CreateExpectedSymbolDetails("MACRO", "",
+ "c:TestTU.cpp@38@macro@MACRO")}},
{
R"cpp( // Multiple symbols returned - using overloaded function name
void foo() {}
OpenPOWER on IntegriCloud