[llvm-bugs] [Bug 37561] New: [llvm-profdata/llvm-cov] coverage broken for C++ when built with clang-cl

via llvm-bugs llvm-bugs at lists.llvm.org
Wed May 23 02:29:05 PDT 2018


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

            Bug ID: 37561
           Summary: [llvm-profdata/llvm-cov] coverage broken for C++ when
                    built with clang-cl
           Product: new-bugs
           Version: 6.0
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: stefan.schmidt-bilkenroth at gemalto.com
                CC: llvm-bugs at lists.llvm.org

I am building libraries with unit tests to create coverage mappings.
When building on Mac, all is fine.
When building pure C, all is fine.

When the build includes C++ and is built with clang-cl the following happens:

1. default.profraw is created
2. llvm-profdata show --all-functions default.profraw works as expected
3. use llvm-profdata merge default.profraw -o default.profdata executes without
error
4. llvm-cov show -instr-profile default.profdata sample.exe prompts the error:
--> "Failed to load coverage: Malformed instrumentation profile data"

It does not matter if step 4 is done on Mac or Windows.

It looks to me like the Microsoft Name Mangling is somehow causing
llvm-profdata tool to write a broken profdata file, which then can't be used by
llvm-cov. As mentioned, all fine when building the same sample on Mac and also
no issue, when C++ is excluded from instrumentation.

-- 
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/20180523/eb338cb5/attachment.html>


More information about the llvm-bugs mailing list