llvm-cov: Fix dropped lines when filters were applied
Uncovered lines in the middle of a covered region weren't being shown
when filtering to a particular function.
llvm-svn: 218109
diff --git a/llvm/tools/llvm-cov/SourceCoverageView.cpp b/llvm/tools/llvm-cov/SourceCoverageView.cpp
index 2ad3e14..3be54f8 100644
--- a/llvm/tools/llvm-cov/SourceCoverageView.cpp
+++ b/llvm/tools/llvm-cov/SourceCoverageView.cpp
@@ -163,6 +163,7 @@
auto NextSegment = CoverageSegments.begin();
auto EndSegment = CoverageSegments.end();
+ unsigned FirstLine = NextSegment != EndSegment ? NextSegment->Line : 0;
const CoverageSegment *WrappedSegment = nullptr;
SmallVector<const CoverageSegment *, 8> LineSegments;
for (line_iterator LI(File, /*SkipBlanks=*/false); !LI.is_at_eof(); ++LI) {
@@ -171,7 +172,7 @@
if (!WholeFile) {
if (NextSegment == EndSegment)
break;
- else if (LI.line_number() < NextSegment->Line)
+ else if (LI.line_number() < FirstLine)
continue;
}