diff options
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/tool-options.h | 11 | ||||
-rw-r--r-- | src/tools/wasm-opt.cpp | 10 |
2 files changed, 17 insertions, 4 deletions
diff --git a/src/tools/tool-options.h b/src/tools/tool-options.h index 33a631975..46720d203 100644 --- a/src/tools/tool-options.h +++ b/src/tools/tool-options.h @@ -22,7 +22,7 @@ #include "support/command-line.h" // -// Shared optimization options for commandline tools +// Shared options for commandline tools // namespace wasm { @@ -30,6 +30,8 @@ namespace wasm { struct ToolOptions : public Options { PassOptions passOptions; + bool quiet = false; + ToolOptions(const std::string& command, const std::string& description) : Options(command, description) { (*this) @@ -60,7 +62,12 @@ struct ToolOptions : public Options { detectFeatures = true; enabledFeatures.makeMVP(); disabledFeatures.makeMVP(); - }); + }) + .add("--quiet", + "-q", + "Emit less verbose output and hide trivial warnings.", + Arguments::Zero, + [this](Options*, const std::string&) { quiet = true; }); (*this) .addFeature(FeatureSet::SignExt, "sign extension operations") .addFeature(FeatureSet::Atomics, "atomic operations") diff --git a/src/tools/wasm-opt.cpp b/src/tools/wasm-opt.cpp index 33e9a0396..b2d1f2c14 100644 --- a/src/tools/wasm-opt.cpp +++ b/src/tools/wasm-opt.cpp @@ -318,7 +318,11 @@ int main(int argc, const char* argv[]) { curr = &other; } - if (options.runningPasses()) { + if (!options.runningPasses()) { + if (!options.quiet) { + std::cerr << "warning: no passes specified, not doing any work\n"; + } + } else { if (options.debug) { std::cerr << "running passes...\n"; } @@ -363,7 +367,9 @@ int main(int argc, const char* argv[]) { } if (options.extra.count("output") == 0) { - std::cerr << "no output file specified, not emitting output\n"; + if (!options.quiet) { + std::cerr << "warning: no output file specified, not emitting output\n"; + } return 0; } |