aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-cov/SourceCoverageView.cpp
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2017-09-11 21:31:32 +0000
committerVedant Kumar <vsk@apple.com>2017-09-11 21:31:32 +0000
commit71bc1afaab33481932adaca3035040272a5a277c (patch)
tree015734fe81990bad71055002623553a0c227f28b /llvm/tools/llvm-cov/SourceCoverageView.cpp
parent54cc3603def0757b4460f94a04e2a9f459a8c7c9 (diff)
downloadllvm-71bc1afaab33481932adaca3035040272a5a277c.zip
llvm-71bc1afaab33481932adaca3035040272a5a277c.tar.gz
llvm-71bc1afaab33481932adaca3035040272a5a277c.tar.bz2
[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
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageView.cpp')
-rw-r--r--llvm/tools/llvm-cov/SourceCoverageView.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/tools/llvm-cov/SourceCoverageView.cpp b/llvm/tools/llvm-cov/SourceCoverageView.cpp
index 3806ee9..08a1c75 100644
--- a/llvm/tools/llvm-cov/SourceCoverageView.cpp
+++ b/llvm/tools/llvm-cov/SourceCoverageView.cpp
@@ -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;