diff options
author | Sean Eveson <eveson.sean@gmail.com> | 2017-10-03 11:05:28 +0000 |
---|---|---|
committer | Sean Eveson <eveson.sean@gmail.com> | 2017-10-03 11:05:28 +0000 |
commit | d932b2d7631aea7a4788e49c8066759d7ac678e6 (patch) | |
tree | 2e775a1e6cf0d8be94167cc263bb31949eb4a604 /llvm/tools | |
parent | 90cc1b53d0ca1e614ee4b01e5264d3751f8953e1 (diff) | |
download | llvm-d932b2d7631aea7a4788e49c8066759d7ac678e6.zip llvm-d932b2d7631aea7a4788e49c8066759d7ac678e6.tar.gz llvm-d932b2d7631aea7a4788e49c8066759d7ac678e6.tar.bz2 |
[llvm-cov] Hide files with no coverage from the index when filtering by name
Differential Revision: https://reviews.llvm.org/D38457
llvm-svn: 314782
Diffstat (limited to 'llvm/tools')
-rw-r--r-- | llvm/tools/llvm-cov/CoverageReport.cpp | 8 | ||||
-rw-r--r-- | llvm/tools/llvm-cov/CoverageReport.h | 2 | ||||
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageView.h | 4 | ||||
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageViewHTML.h | 2 | ||||
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageViewText.cpp | 3 | ||||
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageViewText.h | 2 |
7 files changed, 14 insertions, 12 deletions
diff --git a/llvm/tools/llvm-cov/CoverageReport.cpp b/llvm/tools/llvm-cov/CoverageReport.cpp index 5c8ffe1..5674530 100644 --- a/llvm/tools/llvm-cov/CoverageReport.cpp +++ b/llvm/tools/llvm-cov/CoverageReport.cpp @@ -367,9 +367,9 @@ void CoverageReport::renderFileReports(raw_ostream &OS) const { renderFileReports(OS, UniqueSourceFiles, CoverageFiltersMatchAll()); } -void CoverageReport::renderFileReports(raw_ostream &OS, - ArrayRef<std::string> Files, - const CoverageFilter &Filters) const { +void CoverageReport::renderFileReports( + raw_ostream &OS, ArrayRef<std::string> Files, + const CoverageFiltersMatchAll &Filters) const { FileCoverageSummary Totals("TOTAL"); auto FileReports = prepareFileReports(Coverage, Totals, Files, Options, Filters); @@ -405,7 +405,7 @@ void CoverageReport::renderFileReports(raw_ostream &OS, EmptyFiles = true; } - if (EmptyFiles) { + if (EmptyFiles && Filters.empty()) { OS << "\n" << "Files which contain no functions:\n"; diff --git a/llvm/tools/llvm-cov/CoverageReport.h b/llvm/tools/llvm-cov/CoverageReport.h index d78f2e4..4126c31 100644 --- a/llvm/tools/llvm-cov/CoverageReport.h +++ b/llvm/tools/llvm-cov/CoverageReport.h @@ -50,7 +50,7 @@ public: /// Render file reports for the files specified in \p Files and the functions /// in \p Filters. void renderFileReports(raw_ostream &OS, ArrayRef<std::string> Files, - const CoverageFilter &Filters) const; + const CoverageFiltersMatchAll &Filters) const; }; } // end namespace llvm diff --git a/llvm/tools/llvm-cov/SourceCoverageView.h b/llvm/tools/llvm-cov/SourceCoverageView.h index 7c7e878..2408028 100644 --- a/llvm/tools/llvm-cov/SourceCoverageView.h +++ b/llvm/tools/llvm-cov/SourceCoverageView.h @@ -22,7 +22,7 @@ namespace llvm { -class CoverageFilter; +class CoverageFiltersMatchAll; class SourceCoverageView; /// \brief A view that represents a macro or include expansion. @@ -113,7 +113,7 @@ public: /// \brief Create an index which lists reports for the given source files. virtual Error createIndexFile(ArrayRef<std::string> SourceFiles, const coverage::CoverageMapping &Coverage, - const CoverageFilter &Filters) = 0; + const CoverageFiltersMatchAll &Filters) = 0; /// @} }; diff --git a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp index a031f18..b8fdf44 100644 --- a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp +++ b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp @@ -366,7 +366,8 @@ void CoveragePrinterHTML::emitFileSummary(raw_ostream &OS, StringRef SF, Error CoveragePrinterHTML::createIndexFile( ArrayRef<std::string> SourceFiles, - const coverage::CoverageMapping &Coverage, const CoverageFilter &Filters) { + const coverage::CoverageMapping &Coverage, + const CoverageFiltersMatchAll &Filters) { // Emit the default stylesheet. auto CSSOrErr = createOutputStream("style", "css", /*InToplevel=*/true); if (Error E = CSSOrErr.takeError()) @@ -419,7 +420,7 @@ Error CoveragePrinterHTML::createIndexFile( // Emit links to files which don't contain any functions. These are normally // not very useful, but could be relevant for code which abuses the // preprocessor. - if (EmptyFiles) { + if (EmptyFiles && Filters.empty()) { OSRef << tag("p", "Files which contain no functions. (These " "files contain code pulled into other files " "by the preprocessor.)\n"); diff --git a/llvm/tools/llvm-cov/SourceCoverageViewHTML.h b/llvm/tools/llvm-cov/SourceCoverageViewHTML.h index e11111a..978a75ae 100644 --- a/llvm/tools/llvm-cov/SourceCoverageViewHTML.h +++ b/llvm/tools/llvm-cov/SourceCoverageViewHTML.h @@ -30,7 +30,7 @@ public: Error createIndexFile(ArrayRef<std::string> SourceFiles, const coverage::CoverageMapping &Coverage, - const CoverageFilter &Filters) override; + const CoverageFiltersMatchAll &Filters) override; CoveragePrinterHTML(const CoverageViewOptions &Opts) : CoveragePrinter(Opts) {} diff --git a/llvm/tools/llvm-cov/SourceCoverageViewText.cpp b/llvm/tools/llvm-cov/SourceCoverageViewText.cpp index b2902df1..261f08d 100644 --- a/llvm/tools/llvm-cov/SourceCoverageViewText.cpp +++ b/llvm/tools/llvm-cov/SourceCoverageViewText.cpp @@ -30,7 +30,8 @@ void CoveragePrinterText::closeViewFile(OwnedStream OS) { Error CoveragePrinterText::createIndexFile( ArrayRef<std::string> SourceFiles, - const coverage::CoverageMapping &Coverage, const CoverageFilter &Filters) { + const coverage::CoverageMapping &Coverage, + const CoverageFiltersMatchAll &Filters) { auto OSOrErr = createOutputStream("index", "txt", /*InToplevel=*/true); if (Error E = OSOrErr.takeError()) return E; diff --git a/llvm/tools/llvm-cov/SourceCoverageViewText.h b/llvm/tools/llvm-cov/SourceCoverageViewText.h index 3a04070..5cf7caf 100644 --- a/llvm/tools/llvm-cov/SourceCoverageViewText.h +++ b/llvm/tools/llvm-cov/SourceCoverageViewText.h @@ -28,7 +28,7 @@ public: Error createIndexFile(ArrayRef<std::string> SourceFiles, const coverage::CoverageMapping &Coverage, - const CoverageFilter &Filters) override; + const CoverageFiltersMatchAll &Filters) override; CoveragePrinterText(const CoverageViewOptions &Opts) : CoveragePrinter(Opts) {} |