diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2021-11-16 14:33:10 -0800 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2021-11-16 14:39:30 -0800 |
commit | 77898a4c0c8c6d2366909aee4e145b01c534162e (patch) | |
tree | 8d41c766012e73834c9f29048e9c34f0002d14d0 /llvm | |
parent | ae389b2450bd604a3f3bbe5b09b333b2d99801dd (diff) | |
download | llvm-77898a4c0c8c6d2366909aee4e145b01c534162e.zip llvm-77898a4c0c8c6d2366909aee4e145b01c534162e.tar.gz llvm-77898a4c0c8c6d2366909aee4e145b01c534162e.tar.bz2 |
Coverage: Fix iterated type for LineCoverageIterator
LineCoverageIterator is not providing access to a mutable object. Fix it
to iterate over `const LineCoverageStats` so that `operator->()`
compiles again after 6b9b86db9dd974585a5c71cf2e5231d1e3385f7c.
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h | 7 | ||||
-rw-r--r-- | llvm/unittests/ProfileData/CoverageMappingTest.cpp | 3 |
2 files changed, 6 insertions, 4 deletions
diff --git a/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h b/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h index 8f336c1..d3a5d44 100644 --- a/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h +++ b/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h @@ -693,8 +693,9 @@ public: /// An iterator over the \c LineCoverageStats objects for lines described by /// a \c CoverageData instance. class LineCoverageIterator - : public iterator_facade_base< - LineCoverageIterator, std::forward_iterator_tag, LineCoverageStats> { + : public iterator_facade_base<LineCoverageIterator, + std::forward_iterator_tag, + const LineCoverageStats> { public: LineCoverageIterator(const CoverageData &CD) : LineCoverageIterator(CD, CD.begin()->Line) {} @@ -711,8 +712,6 @@ public: const LineCoverageStats &operator*() const { return Stats; } - LineCoverageStats &operator*() { return Stats; } - LineCoverageIterator &operator++(); LineCoverageIterator getEnd() const { diff --git a/llvm/unittests/ProfileData/CoverageMappingTest.cpp b/llvm/unittests/ProfileData/CoverageMappingTest.cpp index f6f93cd..cc4c953 100644 --- a/llvm/unittests/ProfileData/CoverageMappingTest.cpp +++ b/llvm/unittests/ProfileData/CoverageMappingTest.cpp @@ -693,6 +693,9 @@ TEST_P(CoverageMappingTest, test_line_coverage_iterator) { ++Line; } ASSERT_EQ(11U, Line); + + // Check that operator->() works / compiles. + ASSERT_EQ(1U, LineCoverageIterator(Data)->getLine()); } TEST_P(CoverageMappingTest, uncovered_function) { |