forked from OSchip/llvm-project
[clangd] Use the macro name range as the definition range.
Summary: This also aligns with the behavior of declarations. Reviewers: sammccall Reviewed By: sammccall Subscribers: klimek, ilya-biryukov, jkorous-apple, ioeric, cfe-commits Differential Revision: https://reviews.llvm.org/D44423 llvm-svn: 327401
This commit is contained in:
parent
de18d3eeb5
commit
0259e7d872
|
@ -219,9 +219,8 @@ std::vector<Location> findDefinitions(ParsedAST &AST, Position Pos) {
|
|||
}
|
||||
|
||||
for (auto Item : MacroInfos) {
|
||||
SourceRange SR(Item.Info->getDefinitionLoc(),
|
||||
Item.Info->getDefinitionEndLoc());
|
||||
auto L = makeLocation(AST, SR);
|
||||
auto Loc = Item.Info->getDefinitionLoc();
|
||||
auto L = makeLocation(AST, SourceRange(Loc, Loc));
|
||||
if (L)
|
||||
Result.push_back(*L);
|
||||
}
|
||||
|
|
|
@ -207,7 +207,7 @@ TEST(GoToDefinition, All) {
|
|||
|
||||
R"cpp(// Macro
|
||||
#define MACRO 0
|
||||
#define [[MACRO 1]]
|
||||
#define [[MACRO]] 1
|
||||
int main() { return ^MACRO; }
|
||||
#define MACRO 2
|
||||
#undef macro
|
||||
|
@ -215,7 +215,7 @@ TEST(GoToDefinition, All) {
|
|||
|
||||
R"cpp(// Macro
|
||||
class TTT { public: int a; };
|
||||
#define [[FF(S) if (int b = S.a) {}]]
|
||||
#define [[FF]](S) if (int b = S.a) {}
|
||||
void f() {
|
||||
TTT t;
|
||||
F^F(t);
|
||||
|
|
Loading…
Reference in New Issue