From 6e23f8e5f4d28eb2056d0b3636b8317b9f299bfc Mon Sep 17 00:00:00 2001 From: Heejin Ahn Date: Tue, 26 Nov 2019 02:36:38 -0800 Subject: 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. --- src/passes/Print.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/passes/Print.cpp') 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) { -- cgit v1.2.3