diff options
author | Heejin Ahn <aheejin@gmail.com> | 2019-11-26 02:36:38 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-26 02:36:38 -0800 |
commit | 6e23f8e5f4d28eb2056d0b3636b8317b9f299bfc (patch) | |
tree | 86072ef1f11098c4c721602c833f4fa4ebcacede /src/passes/Print.cpp | |
parent | 98ab07f9e471e713e7b00732a84e260aaaecc25f (diff) | |
download | binaryen-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.cpp | 4 |
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) { |