diff options
author | Justin Bogner <mail@justinbogner.com> | 2014-10-30 20:51:24 +0000 |
---|---|---|
committer | Justin Bogner <mail@justinbogner.com> | 2014-10-30 20:51:24 +0000 |
commit | f6c50557646079a0f7bc8607a63f6f506524d3e4 (patch) | |
tree | 81cfa79da454922fb84636468bff6c5c0c95356c /llvm/tools/llvm-cov | |
parent | d1e64b1e93ccf8836dc76f36adda880bbeab196f (diff) | |
download | bcm5719-llvm-f6c50557646079a0f7bc8607a63f6f506524d3e4.tar.gz bcm5719-llvm-f6c50557646079a0f7bc8607a63f6f506524d3e4.zip |
llvm-cov: Don't manually parse an option for no reason
We're using cl::opt here, but for some reason we're reading out one
particular option by hand instead. This makes -help and the like
behave rather poorly, so let's not do it this way.
llvm-svn: 220928
Diffstat (limited to 'llvm/tools/llvm-cov')
-rw-r--r-- | llvm/tools/llvm-cov/CodeCoverage.cpp | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/llvm/tools/llvm-cov/CodeCoverage.cpp b/llvm/tools/llvm-cov/CodeCoverage.cpp index 9e2f154c233..eef4732c9c5 100644 --- a/llvm/tools/llvm-cov/CodeCoverage.cpp +++ b/llvm/tools/llvm-cov/CodeCoverage.cpp @@ -81,7 +81,7 @@ public: int report(int argc, const char **argv, CommandLineParserType commandLineParser); - StringRef ObjectFilename; + std::string ObjectFilename; CoverageViewOptions ViewOpts; std::string PGOFilename; CoverageFiltersMatchAll Filters; @@ -233,6 +233,10 @@ int CodeCoverageTool::run(Command Cmd, int argc, const char **argv) { PrettyStackTraceProgram X(argc, argv); llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. + cl::opt<std::string, true> ObjectFilename( + cl::Positional, cl::Required, cl::location(this->ObjectFilename), + cl::desc("Covered executable or object file.")); + cl::list<std::string> InputSourceFiles( cl::Positional, cl::desc("<Source files>"), cl::ZeroOrMore); @@ -332,23 +336,6 @@ int CodeCoverageTool::run(Command Cmd, int argc, const char **argv) { return 0; }; - // Parse the object filename - if (argc > 1) { - StringRef Arg(argv[1]); - if (Arg.equals_lower("-help") || Arg.equals_lower("-version")) { - cl::ParseCommandLineOptions(2, argv, "LLVM code coverage tool\n"); - return 0; - } - ObjectFilename = Arg; - - argv[1] = argv[0]; - --argc; - ++argv; - } else { - errs() << sys::path::filename(argv[0]) << ": No executable file given!\n"; - return 1; - } - switch (Cmd) { case Show: return show(argc, argv, commandLineParser); |