RUN: dsymutil --version 2>&1 | FileCheck --check-prefix=VERSION %s
VERSION: {{ version }}
+
+RUN: not dsymutil 2>&1 | FileCheck --check-prefix=NOINPUT %s
+NOINPUT: error: no input files specified
+
+RUN: dsymutil -bogus -help 2>&1 | FileCheck --check-prefix=BOGUS %s
+BOGUS: warning: ignoring unknown option: -bogus
// 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()) {
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(),