summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/tool-options.h11
-rw-r--r--src/tools/wasm-opt.cpp10
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;
}