diff options
author | Ben Smith <binji@chromium.org> | 2016-09-29 16:17:07 -0700 |
---|---|---|
committer | Ben Smith <binji@chromium.org> | 2016-10-05 17:32:27 -0700 |
commit | 5063373ceb48f3aa2375385ad1c03bea799c4606 (patch) | |
tree | 552c4517b08851d325f647060586461fe087a987 /test/spec/select.txt | |
parent | a89f67e3157adfc4d5eaf409d051fb0ac8278d6c (diff) | |
download | wabt-5063373ceb48f3aa2375385ad1c03bea799c4606.tar.gz wabt-5063373ceb48f3aa2375385ad1c03bea799c4606.tar.bz2 wabt-5063373ceb48f3aa2375385ad1c03bea799c4606.zip |
Fix most of the spec tests
The only ones that are failing are imports, exports, linking and start.
Fixes:
* Make sure to assign loc_ for WasmVar
* Imports must occur before any definition, not just a definition of the
same kind
* Check that load/store alignment is not larger than natural alignment
* Always check type stack at the end of the check_block; that way an
empty block is still validated
* Only allow one memory or table, including imports
* Don't allow importing or exporting mutable globals
* Loop label signature is for the fallthrough at the bottom, not the
branch target. This was implemented properly in the AST checker, but
not in binary-reader-interpreter
* `top_type_is_any` will check if there is ANY anywhere on the type
stack; previously this check did not look past the top label's type
stack limit
* `drop_types_for_return` may be called without having enough values on
the type stack; for example, at the end of a function the ends with
return
* properly handle cleaning up the type stack for the interpreter when
branching to the implicit function label
* rename invoke -> action a few places
Diffstat (limited to 'test/spec/select.txt')
-rw-r--r-- | test/spec/select.txt | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/test/spec/select.txt b/test/spec/select.txt index a85d1227..7b9a359e 100644 --- a/test/spec/select.txt +++ b/test/spec/select.txt @@ -2,12 +2,8 @@ ;;; STDIN_FILE: third_party/testsuite/select.wast (;; STDOUT ;;; assert_invalid error: - third_party/testsuite/select.wast:62:27: type stack size too small at select. got 1, expected at least 3 + third_party/testsuite/select.wast:55:27: type stack size too small at select. got 0, expected at least 2 (module (func $arity-0 (select (nop) (nop) (i32.const 1)))) ^^^^^^ -assert_invalid error: - third_party/testsuite/select.wast:62:11: unable to join type i32 (type of last operation) with type void (function signature result type). - (module (func $arity-0 (select (nop) (nop) (i32.const 1)))) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 28/28 tests passed. ;;; STDOUT ;;) |