003 File Manager
Current Path:
/usr/src/contrib/llvm-project/llvm/tools/llvm-cov
usr
/
src
/
contrib
/
llvm-project
/
llvm
/
tools
/
llvm-cov
/
📁
..
📄
CodeCoverage.cpp
(38.12 KB)
📄
CoverageExporter.h
(1.58 KB)
📄
CoverageExporterJson.cpp
(10.48 KB)
📄
CoverageExporterJson.h
(1.21 KB)
📄
CoverageExporterLcov.cpp
(4.7 KB)
📄
CoverageExporterLcov.h
(1.22 KB)
📄
CoverageFilters.cpp
(2.72 KB)
📄
CoverageFilters.h
(4.84 KB)
📄
CoverageReport.cpp
(16.16 KB)
📄
CoverageReport.h
(2.67 KB)
📄
CoverageSummaryInfo.cpp
(2.28 KB)
📄
CoverageSummaryInfo.h
(6.64 KB)
📄
CoverageViewOptions.h
(2.19 KB)
📄
RenderingSupport.h
(1.83 KB)
📄
SourceCoverageView.cpp
(8.88 KB)
📄
SourceCoverageView.h
(9.34 KB)
📄
SourceCoverageViewHTML.cpp
(21.81 KB)
📄
SourceCoverageViewHTML.h
(3.48 KB)
📄
SourceCoverageViewText.cpp
(9.09 KB)
📄
SourceCoverageViewText.h
(3.16 KB)
📄
TestingSupport.cpp
(3.33 KB)
📄
gcov.cpp
(6.97 KB)
📄
llvm-cov.cpp
(3.32 KB)
Editing: CoverageSummaryInfo.cpp
//===- CoverageSummaryInfo.cpp - Coverage summary for function/file -------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // These structures are used to represent code coverage metrics // for functions/files. // //===----------------------------------------------------------------------===// #include "CoverageSummaryInfo.h" using namespace llvm; using namespace coverage; FunctionCoverageSummary FunctionCoverageSummary::get(const CoverageMapping &CM, const coverage::FunctionRecord &Function) { // Compute the region coverage. size_t NumCodeRegions = 0, CoveredRegions = 0; for (auto &CR : Function.CountedRegions) { if (CR.Kind != CounterMappingRegion::CodeRegion) continue; ++NumCodeRegions; if (CR.ExecutionCount != 0) ++CoveredRegions; } // Compute the line coverage size_t NumLines = 0, CoveredLines = 0; CoverageData CD = CM.getCoverageForFunction(Function); for (const auto &LCS : getLineCoverageStats(CD)) { if (!LCS.isMapped()) continue; ++NumLines; if (LCS.getExecutionCount()) ++CoveredLines; } return FunctionCoverageSummary( Function.Name, Function.ExecutionCount, RegionCoverageInfo(CoveredRegions, NumCodeRegions), LineCoverageInfo(CoveredLines, NumLines)); } FunctionCoverageSummary FunctionCoverageSummary::get(const InstantiationGroup &Group, ArrayRef<FunctionCoverageSummary> Summaries) { std::string Name; if (Group.hasName()) { Name = std::string(Group.getName()); } else { llvm::raw_string_ostream OS(Name); OS << "Definition at line " << Group.getLine() << ", column " << Group.getColumn(); } FunctionCoverageSummary Summary(Name); Summary.ExecutionCount = Group.getTotalExecutionCount(); Summary.RegionCoverage = Summaries[0].RegionCoverage; Summary.LineCoverage = Summaries[0].LineCoverage; for (const auto &FCS : Summaries.drop_front()) { Summary.RegionCoverage.merge(FCS.RegionCoverage); Summary.LineCoverage.merge(FCS.LineCoverage); } return Summary; }
Upload File
Create Folder