[llvm-bugs] [Bug 39567] New: Invalid getReturnTypeSourceRange for function with trailing return type

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Nov 5 17:20:22 PST 2018


            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: unassignedclangbugs at nondot.org
          Reporter: steveire at gmail.com
                CC: llvm-bugs at 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");


  auto SR = MatchedDecl->getReturnTypeSourceRange();


we get this output:

FunctionDecl 0x55dc893341f0 <func-return.cpp:2:1, col:9> col:5 foo 'int (void)'
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20181106/547f561b/attachment.html>

More information about the llvm-bugs mailing list