mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-21 03:05:26 -04:00
c97ab8f1e3
Summary: Don't skip functions with the same name but from different files. That change makes it possible to generate code coverage reports from different binaries compiled from different sources even if there are functions with non-unique names. Without that change, code coverage for such functions is missing except of the first function processed. Reviewers: vsk, morehouse Reviewed By: vsk Subscribers: llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D46478 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331801 91177308-0d34-0410-b5e6-96231b3b80d8
23 lines
1.1 KiB
Plaintext
23 lines
1.1 KiB
Plaintext
RUN: llvm-cov report -instr-profile %S/Inputs/multiple_objects/merged.profdata \
|
|
RUN: %S/Inputs/multiple_objects/use_2.covmapping \
|
|
RUN: -object %S/Inputs/multiple_objects/use_1.covmapping | FileCheck -check-prefix=REPORT %s
|
|
|
|
REPORT: Filename{{ +}}Regions{{ +}}Missed Regions{{ +}}Cover
|
|
REPORT-NEXT: ---
|
|
REPORT-NEXT: header.h{{ +}}25{{ +}}14{{ +}}44.00%
|
|
|
|
# Make sure that both use_1.cc and use_2.cc have coverage reported.
|
|
# Before https://reviews.llvm.org/D46478, only one of them used to be reported.
|
|
REPORT-NEXT: use_1.cc{{ +}}1{{ +}}0{{ +}}100.00%
|
|
REPORT-NEXT: use_2.cc{{ +}}2{{ +}}0{{ +}}100.00%
|
|
|
|
Instructions for regenerating the test:
|
|
|
|
clang -std=c++11 -mllvm -enable-name-compression=false -fprofile-instr-generate -fcoverage-mapping use_1.cc -o use_1
|
|
clang -std=c++11 -mllvm -enable-name-compression=false -fprofile-instr-generate -fcoverage-mapping use_2.cc -o use_2
|
|
LLVM_PROFILE_FILE="use_1.raw" ./use_1
|
|
LLVM_PROFILE_FILE="use_2.raw" ./use_2
|
|
llvm-profdata merge use_{1,2}.raw -o merged.profdata
|
|
llvm-cov convert-for-testing ./use_1 -o ./use_1.covmapping
|
|
llvm-cov convert-for-testing ./use_2 -o ./use_2.covmapping
|