mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-05 02:07:56 +00:00
[llvm-cov] Don't attach exec counts to lines which start a skipped region
These lines by definition don't have an execution count. This is the final part of the fix for: https://bugs.llvm.org/show_bug.cgi?id=34166 llvm-svn: 312955
This commit is contained in:
parent
beb219a85a
commit
37bb41602e
BIN
test/tools/llvm-cov/Inputs/ifdef.covmapping
Normal file
BIN
test/tools/llvm-cov/Inputs/ifdef.covmapping
Normal file
Binary file not shown.
BIN
test/tools/llvm-cov/Inputs/ifdef.profdata
Normal file
BIN
test/tools/llvm-cov/Inputs/ifdef.profdata
Normal file
Binary file not shown.
16
test/tools/llvm-cov/ifdef.c
Normal file
16
test/tools/llvm-cov/ifdef.c
Normal file
@ -0,0 +1,16 @@
|
||||
// RUN: llvm-cov show -instr-profile %S/Inputs/ifdef.profdata %S/Inputs/ifdef.covmapping -dump -path-equivalence=/tmp,%S %s > %t.out 2>&1
|
||||
// RUN: FileCheck %s -input-file %t.out -check-prefix=LINE
|
||||
// RUN: FileCheck %s -input-file %t.out -check-prefix=HIGHLIGHT
|
||||
|
||||
|
||||
int main() {
|
||||
if (0) { // LINE: [[@LINE]]|{{ +}}1|
|
||||
#if 0 // LINE-NEXT: [[@LINE]]|{{ +}}|
|
||||
#endif // LINE-NEXT: [[@LINE]]|{{ +}}|
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// HIGHLIGHT: Highlighted line [[@LINE-7]], 10 -> ?
|
||||
// HIGHLIGHT-NEXT: Highlighted line [[@LINE-7]], 1 -> 1
|
||||
// HIGHLIGHT-NEXT: Highlighted line [[@LINE-6]], 1 -> 4
|
@ -95,9 +95,15 @@ LineCoverageStats::LineCoverageStats(
|
||||
if (isStartOfRegion(LineSegments[I]))
|
||||
++MinRegionCount;
|
||||
|
||||
bool StartOfSkippedRegion = !LineSegments.empty() &&
|
||||
!LineSegments.front()->HasCount &&
|
||||
LineSegments.front()->IsRegionEntry;
|
||||
|
||||
ExecutionCount = 0;
|
||||
HasMultipleRegions = MinRegionCount > 1;
|
||||
Mapped = (WrappedSegment && WrappedSegment->HasCount) || (MinRegionCount > 0);
|
||||
Mapped =
|
||||
!StartOfSkippedRegion &&
|
||||
((WrappedSegment && WrappedSegment->HasCount) || (MinRegionCount > 0));
|
||||
|
||||
if (!Mapped)
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user