diff options
| author | Jonas Devlieghere <jonas@devlieghere.com> | 2019-10-16 21:48:41 +0000 |
|---|---|---|
| committer | Jonas Devlieghere <jonas@devlieghere.com> | 2019-10-16 21:48:41 +0000 |
| commit | 8cdc842c51626b94fc20af604f640f6f195eeadb (patch) | |
| tree | ec1d9e999e948f80688b3801fac973e1b6d84040 /llvm/tools/dsymutil | |
| parent | 6d1891c508fecf189d1d76b43740b144b91aae23 (diff) | |
| download | bcm5719-llvm-8cdc842c51626b94fc20af604f640f6f195eeadb.tar.gz bcm5719-llvm-8cdc842c51626b94fc20af604f640f6f195eeadb.zip | |
[dsymutil] Print warning/error for unknown/missing arguments.
After changing dsymutil to use libOption, we lost error reporting for
missing required arguments (input files). Additionally, we stopped
complaining about unknown arguments. This patch fixes both and adds a
test.
llvm-svn: 375044
Diffstat (limited to 'llvm/tools/dsymutil')
| -rw-r--r-- | llvm/tools/dsymutil/dsymutil.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/tools/dsymutil/dsymutil.cpp b/llvm/tools/dsymutil/dsymutil.cpp index 983e86808e7..88a85937a62 100644 --- a/llvm/tools/dsymutil/dsymutil.cpp +++ b/llvm/tools/dsymutil/dsymutil.cpp @@ -148,6 +148,11 @@ static Expected<std::vector<std::string>> getInputs(opt::InputArgList &Args, // Verify that the given combination of options makes sense. static Error verifyOptions(const DsymutilOptions &Options) { + if (Options.InputFiles.empty()) { + return make_error<StringError>("no input files specified", + errc::invalid_argument); + } + if (Options.LinkOpts.Update && std::find(Options.InputFiles.begin(), Options.InputFiles.end(), "-") != Options.InputFiles.end()) { @@ -440,6 +445,11 @@ int main(int argc, char **argv) { std::string SDKPath = sys::fs::getMainExecutable(argv[0], P); SDKPath = sys::path::parent_path(SDKPath); + for (auto *Arg : Args.filtered(OPT_UNKNOWN)) { + WithColor::warning() << "ignoring unknown option: " << Arg->getSpelling() + << '\n'; + } + if (Args.hasArg(OPT_help)) { T.PrintHelp( outs(), (std::string(argv[0]) + " [options] <input files>").c_str(), |

