summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2016-06-28 00:15:54 +0000
committerVedant Kumar <vsk@apple.com>2016-06-28 00:15:54 +0000
commit635c83c1b4ec789f51d8bcb49bbbec5f127d1a69 (patch)
tree7a3c47bd793f2801cd0371e71433b5bf043f3a65 /llvm/tools
parent3264fdd3caa0acf19c91a4eb0d09a282cc788bbd (diff)
downloadbcm5719-llvm-635c83c1b4ec789f51d8bcb49bbbec5f127d1a69.tar.gz
bcm5719-llvm-635c83c1b4ec789f51d8bcb49bbbec5f127d1a69.zip
[llvm-cov] Add a format option for the 'show' sub-command (mostly NFC)
llvm-svn: 273968
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/llvm-cov/CodeCoverage.cpp8
-rw-r--r--llvm/tools/llvm-cov/CoverageViewOptions.h5
-rw-r--r--llvm/tools/llvm-cov/SourceCoverageView.cpp7
3 files changed, 18 insertions, 2 deletions
diff --git a/llvm/tools/llvm-cov/CodeCoverage.cpp b/llvm/tools/llvm-cov/CodeCoverage.cpp
index 6ca2141508a..7ba8bfaa9f3 100644
--- a/llvm/tools/llvm-cov/CodeCoverage.cpp
+++ b/llvm/tools/llvm-cov/CodeCoverage.cpp
@@ -399,6 +399,13 @@ int CodeCoverageTool::show(int argc, const char **argv,
cl::desc("Show function instantiations"),
cl::cat(ViewCategory));
+ cl::opt<CoverageViewOptions::OutputFormat> ShowFormat(
+ "format", cl::desc("Output format for line-based coverage reports"),
+ cl::values(clEnumValN(CoverageViewOptions::OutputFormat::Text, "text",
+ "Text output"),
+ clEnumValEnd),
+ cl::init(CoverageViewOptions::OutputFormat::Text));
+
auto Err = commandLineParser(argc, argv);
if (Err)
return Err;
@@ -410,6 +417,7 @@ int CodeCoverageTool::show(int argc, const char **argv,
ViewOpts.ShowLineStatsOrRegionMarkers = ShowBestLineRegionsCounts;
ViewOpts.ShowExpandedRegions = ShowExpansions;
ViewOpts.ShowFunctionInstantiations = ShowInstantiations;
+ ViewOpts.ShowFormat = ShowFormat;
auto Coverage = load();
if (!Coverage)
diff --git a/llvm/tools/llvm-cov/CoverageViewOptions.h b/llvm/tools/llvm-cov/CoverageViewOptions.h
index 1208fad7917..93bc09ca9d8 100644
--- a/llvm/tools/llvm-cov/CoverageViewOptions.h
+++ b/llvm/tools/llvm-cov/CoverageViewOptions.h
@@ -16,6 +16,10 @@ namespace llvm {
/// \brief The options for displaying the code coverage information.
struct CoverageViewOptions {
+ enum class OutputFormat {
+ Text
+ };
+
bool Debug;
bool Colors;
bool ShowLineNumbers;
@@ -25,6 +29,7 @@ struct CoverageViewOptions {
bool ShowExpandedRegions;
bool ShowFunctionInstantiations;
bool ShowFullFilenames;
+ OutputFormat ShowFormat;
/// \brief Change the output's stream color if the colors are enabled.
ColoredRawOstream colored_ostream(raw_ostream &OS,
diff --git a/llvm/tools/llvm-cov/SourceCoverageView.cpp b/llvm/tools/llvm-cov/SourceCoverageView.cpp
index 0c2a8878f3b..3309189a935 100644
--- a/llvm/tools/llvm-cov/SourceCoverageView.cpp
+++ b/llvm/tools/llvm-cov/SourceCoverageView.cpp
@@ -50,8 +50,11 @@ std::unique_ptr<SourceCoverageView>
SourceCoverageView::create(StringRef SourceName, const MemoryBuffer &File,
const CoverageViewOptions &Options,
coverage::CoverageData &&CoverageInfo) {
- return llvm::make_unique<SourceCoverageViewText>(SourceName, File, Options,
- std::move(CoverageInfo));
+ switch (Options.ShowFormat) {
+ case CoverageViewOptions::OutputFormat::Text:
+ return llvm::make_unique<SourceCoverageViewText>(SourceName, File, Options,
+ std::move(CoverageInfo));
+ }
}
void SourceCoverageView::print(raw_ostream &OS, bool WholeFile,
OpenPOWER on IntegriCloud