https://bugs.llvm.org/show_bug.cgi?id=39567
Bug ID: 39567
Summary: Invalid getReturnTypeSourceRange for function with
trailing return type
Product: clang
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Tooling
Assignee: unassignedclangb...@nondot.org
Reporter: steve...@gmail.com
CC: llvm-bugs@lists.llvm.org
Given this source file:
int foo();
auto bar() -> int;
and this clang-tidy check:
void FuncReturnRangeCheck::registerMatchers(MatchFinder *Finder) {
// FIXME: Add matchers.
Finder->addMatcher(functionDecl().bind("x"), this);
}
void FuncReturnRangeCheck::check(const MatchFinder::MatchResult &Result) {
// FIXME: Add callback implementation.
const auto *MatchedDecl = Result.Nodes.getNodeAs<FunctionDecl>("x");
MatchedDecl->dump();
auto SR = MatchedDecl->getReturnTypeSourceRange();
SR.dump(*Result.SourceManager);
}
we get this output:
FunctionDecl 0x55dc893341f0 <func-return.cpp:2:1, col:9> col:5 foo 'int (void)'
<func-return.cpp:2:1>
FunctionDecl 0x55dc89334350 <func-return.cpp:4:1, col:15> col:6 bar 'auto
(void) -> int'
<<invalid sloc>>
The second source range should not be invalid.
FunctionDecl::getReturnTypeSourceRange returns an invalid range when the return
type is after the name info.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs