[llvm-bugs] [Bug 42110] New: llvm-cov: unused methods of template classes are not shown as uncovered

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jun 3 03:37:25 PDT 2019


https://bugs.llvm.org/show_bug.cgi?id=42110

            Bug ID: 42110
           Summary: llvm-cov: unused methods of template classes are not
                    shown as uncovered
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: dennis.felsing at sap.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

$ cat x.cpp
template<typename T>
struct C
{
    C(T x)
    : v(x)
    {
    }

    void foo(T x)
    {
        v = x;
    }

    T v;
};

int main()
{
    C<int> c(5);
}

$ clang++ -fprofile-instr-generate -fcoverage-mapping x.cpp -o x
$ ./x
$ llvm-profdata merge -sparse default.profraw -o default.profdata 
$ llvm-cov show ./x -instr-profile=default.profdata
    1|       |template<typename T>
    2|       |struct C
    3|       |{
    4|       |    C(T x)
    5|       |    : v(x)
    6|      1|    {
    7|      1|    }
    8|       |
    9|       |    void foo(T x)
   10|       |    {
   11|       |        v = x;
   12|       |    }
   13|       |
   14|       |    T v;
   15|       |};
   16|       |
   17|       |int main()
   18|      1|{
   19|      1|    C<int> c(5);
   20|      1|}

I would expect foo to be considered uncovered, but since the method is inside
of a template class it is apparently not generated when it's also not used. If
the class is non-templated foo is shown correctly as being uncovered.

-- 
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/20190603/7b9cdf03/attachment.html>


More information about the llvm-bugs mailing list