diff options
author | Alon Zakai <azakai@google.com> | 2020-12-17 12:39:21 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-17 12:39:21 -0800 |
commit | 2257f857069faa56335d2e24d7d6853c9501fcb7 (patch) | |
tree | ca67dc5b66b7d24759fc1043ed154b7f002a0188 /src/passes/pass.cpp | |
parent | a8ded16f56afd880a9a6459fe5ce55a8667d9b3e (diff) | |
download | binaryen-2257f857069faa56335d2e24d7d6853c9501fcb7.tar.gz binaryen-2257f857069faa56335d2e24d7d6853c9501fcb7.tar.bz2 binaryen-2257f857069faa56335d2e24d7d6853c9501fcb7.zip |
Refactor printing code so that printing Expressions always works (#3450)
This avoids needing to add include wasm-printing if a file doesn't already have it.
To achieve that, add the std::ostream hooks in wasm.h, and also use them
when possible, removing the need for the special WasmPrinter object.
Also stop printing in "full" (print types on each line) in error messages by default. The
user can still get that, as always, using BINARYEN_PRINT_FULL=1 in the env.
Diffstat (limited to 'src/passes/pass.cpp')
-rw-r--r-- | src/passes/pass.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp index 58083c43b..64e48680e 100644 --- a/src/passes/pass.cpp +++ b/src/passes/pass.cpp @@ -561,7 +561,7 @@ void PassRunner::run() { // pass breaks it, so we can print the before and after std::stringstream moduleBefore; if (passDebug == 2 && !isNested) { - WasmPrinter::printModule(wasm, moduleBefore); + moduleBefore << *wasm << '\n'; } // prepare to run std::cerr << "[PassRunner] running pass: " << pass->name << "... "; @@ -584,7 +584,7 @@ void PassRunner::run() { // validate, ignoring the time std::cerr << "[PassRunner] (validating)\n"; if (!WasmValidator().validate(*wasm, validationFlags)) { - WasmPrinter::printModule(wasm); + std::cout << *wasm << '\n'; if (passDebug >= 2) { Fatal() << "Last pass (" << pass->name << ") broke validation. Here is the module before: \n" @@ -606,7 +606,7 @@ void PassRunner::run() { if (options.validate && !isNested) { std::cerr << "[PassRunner] (final validation)\n"; if (!WasmValidator().validate(*wasm, validationFlags)) { - WasmPrinter::printModule(wasm); + std::cout << *wasm << '\n'; Fatal() << "final module does not validate\n"; } } |