tbaeder added a comment.
I'm gonna continue the conversation here if that's ok, the inline comments are
rather cramped and confusing.
So, I just double-checked this and `Attrs.Range.getBegin()` returns the
location of the first `[`, which is correct and not a problem.
`Lexer::getRawToken(Attrs.Range.getBegin(), ...)` then returns the token as
expected, no problem either.
The test code I'm looking at now is:
template<typename> struct Template {};
template struct [[]] Template<char>;
and `Attrs.Range.getBegin()` correctly returns line 2, column 17 and
`.getEnd()` is line 2 column 20. All correct.
But using `Lexer::findLocationAfterToken()` will return column 19, not 18, so
the first `]`. However, it seems like directly calling `Lexer::findNextToken()`
with the location of the first token (without a
`Lexer::findLocationAfterToken()` in betwee) will return column 19, so the
second `[`.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97362/new/
https://reviews.llvm.org/D97362
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits