summaryrefslogtreecommitdiff
path: root/src/passes/Print.cpp
diff options
context:
space:
mode:
authorHeejin Ahn <aheejin@gmail.com>2019-11-26 02:36:38 -0800
committerGitHub <noreply@github.com>2019-11-26 02:36:38 -0800
commit6e23f8e5f4d28eb2056d0b3636b8317b9f299bfc (patch)
tree86072ef1f11098c4c721602c833f4fa4ebcacede /src/passes/Print.cpp
parent98ab07f9e471e713e7b00732a84e260aaaecc25f (diff)
downloadbinaryen-6e23f8e5f4d28eb2056d0b3636b8317b9f299bfc.tar.gz
binaryen-6e23f8e5f4d28eb2056d0b3636b8317b9f299bfc.tar.bz2
binaryen-6e23f8e5f4d28eb2056d0b3636b8317b9f299bfc.zip
Print only literal values when printing literals (#2469)
Current `<<` operator on `Literal` prints `[type].const` with it. But `[type].const` is rather an instruction than a literal itself, and printing it with the literals makes less sense when we later have literals whose type don't have `const` instructions (such as reference types). This patch - Makes `<<` operator on `Literal` print only its value - Makes wasm-shell's shell interface comply with the spec interpreter's printing format (`value : type`). - Prints wasm-shell's `[trap]` message to stderr These make all `fix_` routines for spec tests in check.py unnecessary.
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r--src/passes/Print.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp
index fef4ac01d..e35d9b57e 100644
--- a/src/passes/Print.cpp
+++ b/src/passes/Print.cpp
@@ -447,7 +447,9 @@ struct PrintExpressionContents
prepareColor(o);
o << "memory.fill";
}
- void visitConst(Const* curr) { o << curr->value; }
+ void visitConst(Const* curr) {
+ o << curr->value.type << ".const " << curr->value;
+ }
void visitUnary(Unary* curr) {
prepareColor(o);
switch (curr->op) {