diff options
author | Ben Smith <binjimin@gmail.com> | 2017-02-14 11:05:43 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-14 11:05:43 -0800 |
commit | ae1782d3c6e024c56e12cc405cb19645520a59b1 (patch) | |
tree | a62cfc37e153ef6315a10ea4a3abe37d22db03c6 /test/spec/call_indirect.txt | |
parent | 4492d0cbbb0c008366dec0fd42ec242406ca01fe (diff) | |
download | wabt-ae1782d3c6e024c56e12cc405cb19645520a59b1.tar.gz wabt-ae1782d3c6e024c56e12cc405cb19645520a59b1.tar.bz2 wabt-ae1782d3c6e024c56e12cc405cb19645520a59b1.zip |
Full typechecking for unreachable code (#302)
The typechecking is now shared between the validator and
binary-reader-interpreter as well.
* Shared the various LabelType enumerations -> WabtLabelType.
* Fixed the "invalid depth" errors, the max value was incorrect.
* Removed some tests that aren't useful anymore:
- interp/if-then-br hasn't been useful for a while, but now is even
less so because it doesn't validate without dropping the i32.const
from the true branch
- typecheck/bad-br-multi-type isn't possible because the block must
specify the signature for the br.
- typecheck/bad-label-multi-type used to test matching signature for
fallthrough and br, but isn't possible because of block signatures.
Diffstat (limited to 'test/spec/call_indirect.txt')
-rw-r--r-- | test/spec/call_indirect.txt | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/test/spec/call_indirect.txt b/test/spec/call_indirect.txt index 59773f0c..8a957286 100644 --- a/test/spec/call_indirect.txt +++ b/test/spec/call_indirect.txt @@ -17,10 +17,10 @@ out/third_party/testsuite/call_indirect.wast:262: assert_invalid passed: error: type stack size too small at call_indirect. got 0, expected at least 2 error: @0x00000027: on_call_indirect_expr callback failed out/third_party/testsuite/call_indirect.wast:270: assert_invalid passed: - error: type stack at end of func is 1. expected 0 + error: type stack at end of function is 1, expected 0 error: @0x00000025: end_function_body callback failed out/third_party/testsuite/call_indirect.wast:278: assert_invalid passed: - error: type stack at end of func is 2. expected 0 + error: type stack at end of function is 2, expected 0 error: @0x0000002e: end_function_body callback failed out/third_party/testsuite/call_indirect.wast:289: assert_invalid passed: error: type stack size too small at call_indirect. got 0, expected at least 1 @@ -35,9 +35,11 @@ out/third_party/testsuite/call_indirect.wast:316: assert_invalid passed: error: type stack size too small at call_indirect. got 1, expected at least 2 error: @0x0000002a: on_call_indirect_expr callback failed out/third_party/testsuite/call_indirect.wast:326: assert_invalid passed: + error: type mismatch in call_indirect, expected i32 but got f64. error: type mismatch in call_indirect, expected f64 but got i32. error: @0x00000032: on_call_indirect_expr callback failed out/third_party/testsuite/call_indirect.wast:336: assert_invalid passed: + error: type mismatch in call_indirect, expected f64 but got i32. error: type mismatch in call_indirect, expected i32 but got f64. error: @0x00000032: on_call_indirect_expr callback failed out/third_party/testsuite/call_indirect.wast:350: assert_invalid passed: |