diff options
author | Vedant Kumar <vsk@apple.com> | 2017-09-11 21:31:32 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2017-09-11 21:31:32 +0000 |
commit | 71bc1afaab33481932adaca3035040272a5a277c (patch) | |
tree | 015734fe81990bad71055002623553a0c227f28b /llvm/tools/llvm-cov/SourceCoverageView.cpp | |
parent | 54cc3603def0757b4460f94a04e2a9f459a8c7c9 (diff) | |
download | llvm-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.cpp | 8 |
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; |