[PATCH] D72041: [clangd] Handle go-to-definition in macro invocations where the target appears in the expansion multiple times
Nathan Ridge via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 2 07:04:14 PST 2020
nridge marked an inline comment as done.
nridge added inline comments.
================
Comment at: clang-tools-extra/clangd/Selection.cpp:287
if (SM.getFileID(ArgStart) == SelFile) {
- SourceLocation ArgEnd = SM.getTopMacroCallerLoc(Batch.back().location());
- return testTokenRange(SM.getFileOffset(ArgStart),
- SM.getFileOffset(ArgEnd));
+ if (isFirstExpansion(FID, ArgStart, SM)) {
+ SourceLocation ArgEnd =
----------------
sammccall wrote:
> when false is the fallthrough to handling as if part of the macro body deliberate?
>
> Thinking about it I suppose either that or returning NoTokens works, but please document it, e.g. `} else { /* fall through and treat as part of the macro body */}`
It is deliberate. In fact, it is intended to address [this previous comment](https://reviews.llvm.org/D72041#inline-663000). Please let me know if I've misunderstood and the solution doesn't match the request.
I'll add a comment as you suggested.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72041/new/
https://reviews.llvm.org/D72041
More information about the cfe-commits
mailing list