diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-04-29 14:59:10 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-04-29 15:03:32 -0700 |
commit | af6b1a77673b1c49f4501918385bd463c50cb28b (patch) | |
tree | c3a7cc43a52a5b006d2ae6acd9470c18a778d15d /src/wasm-binary.h | |
parent | 8ac323bb58c0e1891dea6492160939eb1b6bb1d2 (diff) | |
download | binaryen-af6b1a77673b1c49f4501918385bd463c50cb28b.tar.gz binaryen-af6b1a77673b1c49f4501918385bd463c50cb28b.tar.bz2 binaryen-af6b1a77673b1c49f4501918385bd463c50cb28b.zip |
validate in binaryen shell and on wasm binaries, and fix type checking
Diffstat (limited to 'src/wasm-binary.h')
-rw-r--r-- | src/wasm-binary.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 0bd86ffb6..89073b8be 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -31,6 +31,7 @@ #include "asm_v_wasm.h" #include "wasm-builder.h" #include "ast_utils.h" +#include "wasm-validator.h" namespace wasm { @@ -1187,6 +1188,10 @@ public: } processFunctions(); + + if (!WasmValidator().validate(wasm)) { + abort(); + } } bool more() { @@ -1727,6 +1732,7 @@ public: curr->name = getBreakName(getU32LEB()); if (code == BinaryConsts::BrIf) curr->condition = popExpression(); if (arity == 1) curr->value = popExpression(); + curr->finalize(); } void visitSwitch(Switch *curr) { if (debug) std::cerr << "zz node: Switch" << std::endl; |