From 6e6c7519564530f96a0f728cd1102a9d7cf27e10 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Tue, 5 May 2020 12:43:29 -0700 Subject: [PATCH] Enabled merged proposals by default This enables three proposals by default since they've been merged into the upstream specification: * `saturating-float-to-int` - WebAssembly/spec#1143 * `sign-extension` - WebAssembly/spec#1144 * `multi-value` - WebAssembly/spec#1145 Most of the fallout from this is in the test suite with lots of `--enable` flags getting removed and some tests which now unconditionally pass also getting removed. Two spec tests explicitly pass `--disable` until the spec test submodule is updated. --- src/feature.def | 6 +- test/binary/bad-function-too-many-results.txt | 8 --- test/dump/block-multi.txt | 2 +- test/dump/convert-sat.txt | 2 +- test/dump/func-result-multi.txt | 2 +- test/dump/if-multi.txt | 2 +- test/dump/loop-multi.txt | 2 +- test/dump/try-multi.txt | 2 +- test/dump/unary-extend.txt | 2 +- test/help/spectest-interp.txt | 38 ++++++------ test/help/wasm-interp.txt | 44 ++++++------- test/help/wasm-opcodecnt.txt | 38 ++++++------ test/help/wasm-validate.txt | 36 +++++------ test/help/wasm2wat.txt | 48 +++++++-------- test/help/wast2json.txt | 44 ++++++------- test/help/wat-desugar.txt | 42 ++++++------- test/help/wat2wasm.txt | 46 +++++++------- test/interp/block-multi.txt | 1 - test/interp/call-multi-result.txt | 1 - test/interp/convert-sat.txt | 1 - test/interp/if-multi.txt | 1 - test/interp/loop-multi.txt | 1 - test/interp/unary-extend.txt | 1 - test/parse/expr/bad-block-sig-multi.txt | 24 -------- test/parse/expr/bad-if-sig-multi.txt | 31 ---------- test/parse/expr/bad-loop-sig-multi.txt | 24 -------- test/parse/expr/bad-return-multi.txt | 11 ---- test/parse/expr/bad-try-sig-multi.txt | 31 ---------- test/parse/expr/block-multi-named.txt | 1 - test/parse/expr/block-multi.txt | 1 - test/parse/expr/convert-sat-disabled.txt | 61 ------------------- test/parse/expr/convert-sat.txt | 1 - test/parse/expr/if-multi-named.txt | 1 - test/parse/expr/if-multi.txt | 1 - test/parse/expr/loop-multi-named.txt | 1 - test/parse/expr/loop-multi.txt | 1 - test/parse/expr/try-multi.txt | 2 +- test/parse/expr/unary-extend-disabled.txt | 40 ------------ test/parse/expr/unary-extend.txt | 1 - test/parse/func/bad-result-multi.txt | 10 --- test/parse/func/result-multi.txt | 1 - test/roundtrip/fold-multi.txt | 2 +- test/spec/binary.txt | 3 +- test/spec/bulk-memory-operations/binary.txt | 3 +- test/spec/func.txt | 1 + test/spec/multi-value/binary.txt | 1 - test/spec/multi-value/block.txt | 1 - test/spec/multi-value/br.txt | 1 - test/spec/multi-value/call.txt | 1 - test/spec/multi-value/call_indirect.txt | 1 - test/spec/multi-value/fac.txt | 1 - test/spec/multi-value/func.txt | 1 - test/spec/multi-value/if.txt | 1 - test/spec/multi-value/loop.txt | 1 - test/spec/multi-value/type.txt | 1 - .../conversions.txt | 1 - test/spec/reference-types/binary.txt | 3 +- test/spec/reference-types/select.txt | 3 +- test/spec/sign-extension-ops/i32.txt | 1 - test/spec/sign-extension-ops/i64.txt | 1 - test/spec/type.txt | 1 + test/typecheck/bad-block-multi-mismatch.txt | 11 ++-- test/typecheck/bad-if-multi-mismatch.txt | 17 +++--- test/typecheck/bad-loop-multi-mismatch.txt | 11 ++-- test/typecheck/br-multi.txt | 1 - test/typecheck/brif-multi.txt | 1 - test/typecheck/brtable-multi.txt | 1 - 67 files changed, 207 insertions(+), 477 deletions(-) delete mode 100644 test/binary/bad-function-too-many-results.txt delete mode 100644 test/parse/expr/bad-block-sig-multi.txt delete mode 100644 test/parse/expr/bad-if-sig-multi.txt delete mode 100644 test/parse/expr/bad-loop-sig-multi.txt delete mode 100644 test/parse/expr/bad-return-multi.txt delete mode 100644 test/parse/expr/bad-try-sig-multi.txt delete mode 100644 test/parse/expr/convert-sat-disabled.txt delete mode 100644 test/parse/expr/unary-extend-disabled.txt delete mode 100644 test/parse/func/bad-result-multi.txt diff --git a/src/feature.def b/src/feature.def index 6b9c99db2..880ccde96 100644 --- a/src/feature.def +++ b/src/feature.def @@ -24,11 +24,11 @@ WABT_FEATURE(exceptions, "exceptions", false, "Experimental exception handling") WABT_FEATURE(mutable_globals, "mutable-globals", true, "Import/export mutable globals") -WABT_FEATURE(sat_float_to_int, "saturating-float-to-int", false, "Saturating float-to-int operators") -WABT_FEATURE(sign_extension, "sign-extension", false, "Sign-extension operators") +WABT_FEATURE(sat_float_to_int, "saturating-float-to-int", true, "Saturating float-to-int operators") +WABT_FEATURE(sign_extension, "sign-extension", true, "Sign-extension operators") WABT_FEATURE(simd, "simd", false, "SIMD support") WABT_FEATURE(threads, "threads", false, "Threading support") -WABT_FEATURE(multi_value, "multi-value", false, "Multi-value") +WABT_FEATURE(multi_value, "multi-value", true, "Multi-value") WABT_FEATURE(tail_call, "tail-call", false, "Tail-call support") WABT_FEATURE(bulk_memory, "bulk-memory", false, "Bulk-memory operations") WABT_FEATURE(reference_types, "reference-types", false, "Reference types (anyref)") diff --git a/test/binary/bad-function-too-many-results.txt b/test/binary/bad-function-too-many-results.txt deleted file mode 100644 index bed2e6ca8..000000000 --- a/test/binary/bad-function-too-many-results.txt +++ /dev/null @@ -1,8 +0,0 @@ -;;; TOOL: run-gen-wasm-bad -magic -version -section(TYPE) { count[1] function params[0] results[2] i32 i32 } -(;; STDERR ;;; -out/test/binary/bad-function-too-many-results/bad-function-too-many-results.wasm:0000010: error: multiple result values not currently supported. -out/test/binary/bad-function-too-many-results/bad-function-too-many-results.wasm:0000010: error: multiple result values not currently supported. -;;; STDERR ;;) diff --git a/test/dump/block-multi.txt b/test/dump/block-multi.txt index 5b4f8f0bf..96b7e4533 100644 --- a/test/dump/block-multi.txt +++ b/test/dump/block-multi.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-objdump -;;; ARGS0: -v --enable-multi-value +;;; ARGS0: -v (module (func block (result i32 i32) diff --git a/test/dump/convert-sat.txt b/test/dump/convert-sat.txt index f595ed150..15abfeba4 100644 --- a/test/dump/convert-sat.txt +++ b/test/dump/convert-sat.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-objdump -;;; ARGS0: -v --enable-saturating-float-to-int +;;; ARGS0: -v (module (func f32.const 0 diff --git a/test/dump/func-result-multi.txt b/test/dump/func-result-multi.txt index e77ba445a..2f47dbf3e 100644 --- a/test/dump/func-result-multi.txt +++ b/test/dump/func-result-multi.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-objdump -;;; ARGS0: -v --enable-multi-value +;;; ARGS0: -v ;;; ARGS1: -x (module (func (result i32 i64) diff --git a/test/dump/if-multi.txt b/test/dump/if-multi.txt index 5613255cb..c0553ee37 100644 --- a/test/dump/if-multi.txt +++ b/test/dump/if-multi.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-objdump -;;; ARGS0: -v --enable-multi-value +;;; ARGS0: -v (module (func i32.const 0 diff --git a/test/dump/loop-multi.txt b/test/dump/loop-multi.txt index 9ae996f09..56b69d1eb 100644 --- a/test/dump/loop-multi.txt +++ b/test/dump/loop-multi.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-objdump -;;; ARGS0: -v --enable-multi-value +;;; ARGS0: -v (module (func loop (result i32 i32) diff --git a/test/dump/try-multi.txt b/test/dump/try-multi.txt index 76fabdf3e..dbab05ee1 100644 --- a/test/dump/try-multi.txt +++ b/test/dump/try-multi.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-objdump -;;; ARGS0: -v --enable-multi-value --enable-exceptions +;;; ARGS0: -v --enable-exceptions (module (func try (result i32 i32) diff --git a/test/dump/unary-extend.txt b/test/dump/unary-extend.txt index d23d94dd1..b4bc14529 100644 --- a/test/dump/unary-extend.txt +++ b/test/dump/unary-extend.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-objdump -;;; ARGS0: -v --enable-sign-extension +;;; ARGS0: -v (module (func i32.const 0 diff --git a/test/help/spectest-interp.txt b/test/help/spectest-interp.txt index 1e453d884..3372ae1fc 100644 --- a/test/help/spectest-interp.txt +++ b/test/help/spectest-interp.txt @@ -10,23 +10,23 @@ examples: $ spectest-interp test.json options: - --help Print this help message - --version Print version information - -v, --verbose Use multiple times for more info - --enable-exceptions Enable Experimental exception handling - --disable-mutable-globals Disable Import/export mutable globals - --enable-saturating-float-to-int Enable Saturating float-to-int operators - --enable-sign-extension Enable Sign-extension operators - --enable-simd Enable SIMD support - --enable-threads Enable Threading support - --enable-multi-value Enable Multi-value - --enable-tail-call Enable Tail-call support - --enable-bulk-memory Enable Bulk-memory operations - --enable-reference-types Enable Reference types (anyref) - --enable-annotations Enable Custom annotation syntax - --enable-gc Enable Garbage collection - --enable-all Enable all features - -V, --value-stack-size=SIZE Size in elements of the value stack - -C, --call-stack-size=SIZE Size in elements of the call stack - -t, --trace Trace execution + --help Print this help message + --version Print version information + -v, --verbose Use multiple times for more info + --enable-exceptions Enable Experimental exception handling + --disable-mutable-globals Disable Import/export mutable globals + --disable-saturating-float-to-int Disable Saturating float-to-int operators + --disable-sign-extension Disable Sign-extension operators + --enable-simd Enable SIMD support + --enable-threads Enable Threading support + --disable-multi-value Disable Multi-value + --enable-tail-call Enable Tail-call support + --enable-bulk-memory Enable Bulk-memory operations + --enable-reference-types Enable Reference types (anyref) + --enable-annotations Enable Custom annotation syntax + --enable-gc Enable Garbage collection + --enable-all Enable all features + -V, --value-stack-size=SIZE Size in elements of the value stack + -C, --call-stack-size=SIZE Size in elements of the call stack + -t, --trace Trace execution ;;; STDOUT ;;) diff --git a/test/help/wasm-interp.txt b/test/help/wasm-interp.txt index 733a0c501..27c5573c3 100644 --- a/test/help/wasm-interp.txt +++ b/test/help/wasm-interp.txt @@ -21,26 +21,26 @@ examples: $ wasm-interp test.wasm -V 100 --run-all-exports options: - --help Print this help message - --version Print version information - -v, --verbose Use multiple times for more info - --enable-exceptions Enable Experimental exception handling - --disable-mutable-globals Disable Import/export mutable globals - --enable-saturating-float-to-int Enable Saturating float-to-int operators - --enable-sign-extension Enable Sign-extension operators - --enable-simd Enable SIMD support - --enable-threads Enable Threading support - --enable-multi-value Enable Multi-value - --enable-tail-call Enable Tail-call support - --enable-bulk-memory Enable Bulk-memory operations - --enable-reference-types Enable Reference types (anyref) - --enable-annotations Enable Custom annotation syntax - --enable-gc Enable Garbage collection - --enable-all Enable all features - -V, --value-stack-size=SIZE Size in elements of the value stack - -C, --call-stack-size=SIZE Size in elements of the call stack - -t, --trace Trace execution - --run-all-exports Run all the exported functions, in order. Useful for testing - --host-print Include an importable function named "host.print" for printing to stdout - --dummy-import-func Provide a dummy implementation of all imported functions. The function will log the call and return an appropriate zero value. + --help Print this help message + --version Print version information + -v, --verbose Use multiple times for more info + --enable-exceptions Enable Experimental exception handling + --disable-mutable-globals Disable Import/export mutable globals + --disable-saturating-float-to-int Disable Saturating float-to-int operators + --disable-sign-extension Disable Sign-extension operators + --enable-simd Enable SIMD support + --enable-threads Enable Threading support + --disable-multi-value Disable Multi-value + --enable-tail-call Enable Tail-call support + --enable-bulk-memory Enable Bulk-memory operations + --enable-reference-types Enable Reference types (anyref) + --enable-annotations Enable Custom annotation syntax + --enable-gc Enable Garbage collection + --enable-all Enable all features + -V, --value-stack-size=SIZE Size in elements of the value stack + -C, --call-stack-size=SIZE Size in elements of the call stack + -t, --trace Trace execution + --run-all-exports Run all the exported functions, in order. Useful for testing + --host-print Include an importable function named "host.print" for printing to stdout + --dummy-import-func Provide a dummy implementation of all imported functions. The function will log the call and return an appropriate zero value. ;;; STDOUT ;;) diff --git a/test/help/wasm-opcodecnt.txt b/test/help/wasm-opcodecnt.txt index d3affc1c0..b527aa2ac 100644 --- a/test/help/wasm-opcodecnt.txt +++ b/test/help/wasm-opcodecnt.txt @@ -11,23 +11,23 @@ examples: $ wasm-opcodecnt test.wasm -o test.dist options: - --help Print this help message - --version Print version information - -v, --verbose Use multiple times for more info - --enable-exceptions Enable Experimental exception handling - --disable-mutable-globals Disable Import/export mutable globals - --enable-saturating-float-to-int Enable Saturating float-to-int operators - --enable-sign-extension Enable Sign-extension operators - --enable-simd Enable SIMD support - --enable-threads Enable Threading support - --enable-multi-value Enable Multi-value - --enable-tail-call Enable Tail-call support - --enable-bulk-memory Enable Bulk-memory operations - --enable-reference-types Enable Reference types (anyref) - --enable-annotations Enable Custom annotation syntax - --enable-gc Enable Garbage collection - --enable-all Enable all features - -o, --output=FILENAME Output file for the opcode counts, by default use stdout - -c, --cutoff=N Cutoff for reporting counts less than N - -s, --separator=SEPARATOR Separator text between element and count when reporting counts + --help Print this help message + --version Print version information + -v, --verbose Use multiple times for more info + --enable-exceptions Enable Experimental exception handling + --disable-mutable-globals Disable Import/export mutable globals + --disable-saturating-float-to-int Disable Saturating float-to-int operators + --disable-sign-extension Disable Sign-extension operators + --enable-simd Enable SIMD support + --enable-threads Enable Threading support + --disable-multi-value Disable Multi-value + --enable-tail-call Enable Tail-call support + --enable-bulk-memory Enable Bulk-memory operations + --enable-reference-types Enable Reference types (anyref) + --enable-annotations Enable Custom annotation syntax + --enable-gc Enable Garbage collection + --enable-all Enable all features + -o, --output=FILENAME Output file for the opcode counts, by default use stdout + -c, --cutoff=N Cutoff for reporting counts less than N + -s, --separator=SEPARATOR Separator text between element and count when reporting counts ;;; STDOUT ;;) diff --git a/test/help/wasm-validate.txt b/test/help/wasm-validate.txt index 8e16befd6..7cec73cbe 100644 --- a/test/help/wasm-validate.txt +++ b/test/help/wasm-validate.txt @@ -10,22 +10,22 @@ examples: $ wasm-validate test.wasm options: - --help Print this help message - --version Print version information - -v, --verbose Use multiple times for more info - --enable-exceptions Enable Experimental exception handling - --disable-mutable-globals Disable Import/export mutable globals - --enable-saturating-float-to-int Enable Saturating float-to-int operators - --enable-sign-extension Enable Sign-extension operators - --enable-simd Enable SIMD support - --enable-threads Enable Threading support - --enable-multi-value Enable Multi-value - --enable-tail-call Enable Tail-call support - --enable-bulk-memory Enable Bulk-memory operations - --enable-reference-types Enable Reference types (anyref) - --enable-annotations Enable Custom annotation syntax - --enable-gc Enable Garbage collection - --enable-all Enable all features - --no-debug-names Ignore debug names in the binary file - --ignore-custom-section-errors Ignore errors in custom sections + --help Print this help message + --version Print version information + -v, --verbose Use multiple times for more info + --enable-exceptions Enable Experimental exception handling + --disable-mutable-globals Disable Import/export mutable globals + --disable-saturating-float-to-int Disable Saturating float-to-int operators + --disable-sign-extension Disable Sign-extension operators + --enable-simd Enable SIMD support + --enable-threads Enable Threading support + --disable-multi-value Disable Multi-value + --enable-tail-call Enable Tail-call support + --enable-bulk-memory Enable Bulk-memory operations + --enable-reference-types Enable Reference types (anyref) + --enable-annotations Enable Custom annotation syntax + --enable-gc Enable Garbage collection + --enable-all Enable all features + --no-debug-names Ignore debug names in the binary file + --ignore-custom-section-errors Ignore errors in custom sections ;;; STDOUT ;;) diff --git a/test/help/wasm2wat.txt b/test/help/wasm2wat.txt index 5f739807a..3ef08560b 100644 --- a/test/help/wasm2wat.txt +++ b/test/help/wasm2wat.txt @@ -14,28 +14,28 @@ examples: $ wasm2wat test.wasm --no-debug-names -o test.wat options: - --help Print this help message - --version Print version information - -v, --verbose Use multiple times for more info - -o, --output=FILENAME Output file for the generated wast file, by default use stdout - -f, --fold-exprs Write folded expressions where possible - --enable-exceptions Enable Experimental exception handling - --disable-mutable-globals Disable Import/export mutable globals - --enable-saturating-float-to-int Enable Saturating float-to-int operators - --enable-sign-extension Enable Sign-extension operators - --enable-simd Enable SIMD support - --enable-threads Enable Threading support - --enable-multi-value Enable Multi-value - --enable-tail-call Enable Tail-call support - --enable-bulk-memory Enable Bulk-memory operations - --enable-reference-types Enable Reference types (anyref) - --enable-annotations Enable Custom annotation syntax - --enable-gc Enable Garbage collection - --enable-all Enable all features - --inline-exports Write all exports inline - --inline-imports Write all imports inline - --no-debug-names Ignore debug names in the binary file - --ignore-custom-section-errors Ignore errors in custom sections - --generate-names Give auto-generated names to non-named functions, types, etc. - --no-check Don't check for invalid modules + --help Print this help message + --version Print version information + -v, --verbose Use multiple times for more info + -o, --output=FILENAME Output file for the generated wast file, by default use stdout + -f, --fold-exprs Write folded expressions where possible + --enable-exceptions Enable Experimental exception handling + --disable-mutable-globals Disable Import/export mutable globals + --disable-saturating-float-to-int Disable Saturating float-to-int operators + --disable-sign-extension Disable Sign-extension operators + --enable-simd Enable SIMD support + --enable-threads Enable Threading support + --disable-multi-value Disable Multi-value + --enable-tail-call Enable Tail-call support + --enable-bulk-memory Enable Bulk-memory operations + --enable-reference-types Enable Reference types (anyref) + --enable-annotations Enable Custom annotation syntax + --enable-gc Enable Garbage collection + --enable-all Enable all features + --inline-exports Write all exports inline + --inline-imports Write all imports inline + --no-debug-names Ignore debug names in the binary file + --ignore-custom-section-errors Ignore errors in custom sections + --generate-names Give auto-generated names to non-named functions, types, etc. + --no-check Don't check for invalid modules ;;; STDOUT ;;) diff --git a/test/help/wast2json.txt b/test/help/wast2json.txt index 18f265d52..05a202782 100644 --- a/test/help/wast2json.txt +++ b/test/help/wast2json.txt @@ -12,26 +12,26 @@ examples: $ wast2json spec-test.wast -o spec-test.json options: - --help Print this help message - --version Print version information - -v, --verbose Use multiple times for more info - --debug-parser Turn on debugging the parser of wast files - --enable-exceptions Enable Experimental exception handling - --disable-mutable-globals Disable Import/export mutable globals - --enable-saturating-float-to-int Enable Saturating float-to-int operators - --enable-sign-extension Enable Sign-extension operators - --enable-simd Enable SIMD support - --enable-threads Enable Threading support - --enable-multi-value Enable Multi-value - --enable-tail-call Enable Tail-call support - --enable-bulk-memory Enable Bulk-memory operations - --enable-reference-types Enable Reference types (anyref) - --enable-annotations Enable Custom annotation syntax - --enable-gc Enable Garbage collection - --enable-all Enable all features - -o, --output=FILE output JSON file - -r, --relocatable Create a relocatable wasm binary (suitable for linking with e.g. lld) - --no-canonicalize-leb128s Write all LEB128 sizes as 5-bytes instead of their minimal size - --debug-names Write debug names to the generated binary file - --no-check Don't check for invalid modules + --help Print this help message + --version Print version information + -v, --verbose Use multiple times for more info + --debug-parser Turn on debugging the parser of wast files + --enable-exceptions Enable Experimental exception handling + --disable-mutable-globals Disable Import/export mutable globals + --disable-saturating-float-to-int Disable Saturating float-to-int operators + --disable-sign-extension Disable Sign-extension operators + --enable-simd Enable SIMD support + --enable-threads Enable Threading support + --disable-multi-value Disable Multi-value + --enable-tail-call Enable Tail-call support + --enable-bulk-memory Enable Bulk-memory operations + --enable-reference-types Enable Reference types (anyref) + --enable-annotations Enable Custom annotation syntax + --enable-gc Enable Garbage collection + --enable-all Enable all features + -o, --output=FILE output JSON file + -r, --relocatable Create a relocatable wasm binary (suitable for linking with e.g. lld) + --no-canonicalize-leb128s Write all LEB128 sizes as 5-bytes instead of their minimal size + --debug-names Write debug names to the generated binary file + --no-check Don't check for invalid modules ;;; STDOUT ;;) diff --git a/test/help/wat-desugar.txt b/test/help/wat-desugar.txt index 15df0e0f5..69072c723 100644 --- a/test/help/wat-desugar.txt +++ b/test/help/wat-desugar.txt @@ -16,25 +16,25 @@ examples: $ wat-desugar --generate-names test.wat options: - --help Print this help message - --version Print version information - -o, --output=FILE Output file for the formatted file - --debug-parser Turn on debugging the parser of wat files - -f, --fold-exprs Write folded expressions where possible - --inline-exports Write all exports inline - --inline-imports Write all imports inline - --enable-exceptions Enable Experimental exception handling - --disable-mutable-globals Disable Import/export mutable globals - --enable-saturating-float-to-int Enable Saturating float-to-int operators - --enable-sign-extension Enable Sign-extension operators - --enable-simd Enable SIMD support - --enable-threads Enable Threading support - --enable-multi-value Enable Multi-value - --enable-tail-call Enable Tail-call support - --enable-bulk-memory Enable Bulk-memory operations - --enable-reference-types Enable Reference types (anyref) - --enable-annotations Enable Custom annotation syntax - --enable-gc Enable Garbage collection - --enable-all Enable all features - --generate-names Give auto-generated names to non-named functions, types, etc. + --help Print this help message + --version Print version information + -o, --output=FILE Output file for the formatted file + --debug-parser Turn on debugging the parser of wat files + -f, --fold-exprs Write folded expressions where possible + --inline-exports Write all exports inline + --inline-imports Write all imports inline + --enable-exceptions Enable Experimental exception handling + --disable-mutable-globals Disable Import/export mutable globals + --disable-saturating-float-to-int Disable Saturating float-to-int operators + --disable-sign-extension Disable Sign-extension operators + --enable-simd Enable SIMD support + --enable-threads Enable Threading support + --disable-multi-value Disable Multi-value + --enable-tail-call Enable Tail-call support + --enable-bulk-memory Enable Bulk-memory operations + --enable-reference-types Enable Reference types (anyref) + --enable-annotations Enable Custom annotation syntax + --enable-gc Enable Garbage collection + --enable-all Enable all features + --generate-names Give auto-generated names to non-named functions, types, etc. ;;; STDOUT ;;) diff --git a/test/help/wat2wasm.txt b/test/help/wat2wasm.txt index d2c1e2b01..db11d9ecf 100644 --- a/test/help/wat2wasm.txt +++ b/test/help/wat2wasm.txt @@ -18,27 +18,27 @@ examples: $ wat2wasm spec-test.wast -v options: - --help Print this help message - --version Print version information - -v, --verbose Use multiple times for more info - --debug-parser Turn on debugging the parser of wat files - -d, --dump-module Print a hexdump of the module to stdout - --enable-exceptions Enable Experimental exception handling - --disable-mutable-globals Disable Import/export mutable globals - --enable-saturating-float-to-int Enable Saturating float-to-int operators - --enable-sign-extension Enable Sign-extension operators - --enable-simd Enable SIMD support - --enable-threads Enable Threading support - --enable-multi-value Enable Multi-value - --enable-tail-call Enable Tail-call support - --enable-bulk-memory Enable Bulk-memory operations - --enable-reference-types Enable Reference types (anyref) - --enable-annotations Enable Custom annotation syntax - --enable-gc Enable Garbage collection - --enable-all Enable all features - -o, --output=FILE output wasm binary file - -r, --relocatable Create a relocatable wasm binary (suitable for linking with e.g. lld) - --no-canonicalize-leb128s Write all LEB128 sizes as 5-bytes instead of their minimal size - --debug-names Write debug names to the generated binary file - --no-check Don't check for invalid modules + --help Print this help message + --version Print version information + -v, --verbose Use multiple times for more info + --debug-parser Turn on debugging the parser of wat files + -d, --dump-module Print a hexdump of the module to stdout + --enable-exceptions Enable Experimental exception handling + --disable-mutable-globals Disable Import/export mutable globals + --disable-saturating-float-to-int Disable Saturating float-to-int operators + --disable-sign-extension Disable Sign-extension operators + --enable-simd Enable SIMD support + --enable-threads Enable Threading support + --disable-multi-value Disable Multi-value + --enable-tail-call Enable Tail-call support + --enable-bulk-memory Enable Bulk-memory operations + --enable-reference-types Enable Reference types (anyref) + --enable-annotations Enable Custom annotation syntax + --enable-gc Enable Garbage collection + --enable-all Enable all features + -o, --output=FILE output wasm binary file + -r, --relocatable Create a relocatable wasm binary (suitable for linking with e.g. lld) + --no-canonicalize-leb128s Write all LEB128 sizes as 5-bytes instead of their minimal size + --debug-names Write debug names to the generated binary file + --no-check Don't check for invalid modules ;;; STDOUT ;;) diff --git a/test/interp/block-multi.txt b/test/interp/block-multi.txt index 6d958473e..be71a75d2 100644 --- a/test/interp/block-multi.txt +++ b/test/interp/block-multi.txt @@ -1,5 +1,4 @@ ;;; TOOL: run-interp -;;; ARGS*: --enable-multi-value (module (func (export "block-multi-result") (result i32) block (result i32 i32) diff --git a/test/interp/call-multi-result.txt b/test/interp/call-multi-result.txt index 076238023..fd9de3b59 100644 --- a/test/interp/call-multi-result.txt +++ b/test/interp/call-multi-result.txt @@ -1,5 +1,4 @@ ;;; TOOL: run-interp -;;; ARGS*: --enable-multi-value (module (func $i32_i64 (result i32 i64) i32.const 1 diff --git a/test/interp/convert-sat.txt b/test/interp/convert-sat.txt index 5fdcf7af1..70119c078 100644 --- a/test/interp/convert-sat.txt +++ b/test/interp/convert-sat.txt @@ -1,5 +1,4 @@ ;;; TOOL: run-interp -;;; ARGS*: --enable-saturating-float-to-int (module (func (export "i32.trunc_s:sat/f32") (result i32) f32.const -100.12345 diff --git a/test/interp/if-multi.txt b/test/interp/if-multi.txt index 64881b332..d8e291c00 100644 --- a/test/interp/if-multi.txt +++ b/test/interp/if-multi.txt @@ -1,5 +1,4 @@ ;;; TOOL: run-interp -;;; ARGS*: --enable-multi-value (module (func (export "if-multi-result") (result i32) i32.const 1 diff --git a/test/interp/loop-multi.txt b/test/interp/loop-multi.txt index b3ad23bc1..7b6aea56c 100644 --- a/test/interp/loop-multi.txt +++ b/test/interp/loop-multi.txt @@ -1,5 +1,4 @@ ;;; TOOL: run-interp -;;; ARGS*: --enable-multi-value (module (func (export "loop-multi-result") (result i32) loop (result i32 i32) diff --git a/test/interp/unary-extend.txt b/test/interp/unary-extend.txt index 6b80e6501..fef1efe36 100644 --- a/test/interp/unary-extend.txt +++ b/test/interp/unary-extend.txt @@ -1,5 +1,4 @@ ;;; TOOL: run-interp -;;; ARGS*: --enable-sign-extension (module (func (export "i32.extend8_s 0x7f") (result i32) i32.const 0x7f diff --git a/test/parse/expr/bad-block-sig-multi.txt b/test/parse/expr/bad-block-sig-multi.txt deleted file mode 100644 index 7abe50a37..000000000 --- a/test/parse/expr/bad-block-sig-multi.txt +++ /dev/null @@ -1,24 +0,0 @@ -;;; TOOL: wat2wasm -;;; ERROR: 1 -(module - (func - block (result i32 i32) - i32.const 1 - i32.const 1 - end - drop - drop) - - (func - i32.const 1 - block (param i32) - drop - end)) -(;; STDERR ;;; -out/test/parse/expr/bad-block-sig-multi.txt:5:5: error: multiple result values not currently supported. - block (result i32 i32) - ^^^^^ -out/test/parse/expr/bad-block-sig-multi.txt:14:5: error: block params not currently supported. - block (param i32) - ^^^^^ -;;; STDERR ;;) diff --git a/test/parse/expr/bad-if-sig-multi.txt b/test/parse/expr/bad-if-sig-multi.txt deleted file mode 100644 index 44cb713d0..000000000 --- a/test/parse/expr/bad-if-sig-multi.txt +++ /dev/null @@ -1,31 +0,0 @@ -;;; TOOL: wat2wasm -;;; ERROR: 1 -(module - (func - i32.const 1 - if (result i32 i32) - i32.const 1 - i32.const 2 - else - i32.const 3 - i32.const 4 - end - drop - drop) - - (func - i32.const 1 - i32.const 2 - if (param i32) - drop - else - drop - end)) -(;; STDERR ;;; -out/test/parse/expr/bad-if-sig-multi.txt:6:5: error: multiple result values not currently supported. - if (result i32 i32) - ^^ -out/test/parse/expr/bad-if-sig-multi.txt:19:5: error: if params not currently supported. - if (param i32) - ^^ -;;; STDERR ;;) diff --git a/test/parse/expr/bad-loop-sig-multi.txt b/test/parse/expr/bad-loop-sig-multi.txt deleted file mode 100644 index 1b85f018c..000000000 --- a/test/parse/expr/bad-loop-sig-multi.txt +++ /dev/null @@ -1,24 +0,0 @@ -;;; TOOL: wat2wasm -;;; ERROR: 1 -(module - (func - loop (result i32 i32) - i32.const 1 - i32.const 2 - end - drop - drop) - - (func - i32.const 0 - loop (param i32) - drop - end)) -(;; STDERR ;;; -out/test/parse/expr/bad-loop-sig-multi.txt:5:5: error: multiple result values not currently supported. - loop (result i32 i32) - ^^^^ -out/test/parse/expr/bad-loop-sig-multi.txt:14:5: error: loop params not currently supported. - loop (param i32) - ^^^^ -;;; STDERR ;;) diff --git a/test/parse/expr/bad-return-multi.txt b/test/parse/expr/bad-return-multi.txt deleted file mode 100644 index 2a89701e0..000000000 --- a/test/parse/expr/bad-return-multi.txt +++ /dev/null @@ -1,11 +0,0 @@ -;;; TOOL: wat2wasm -;;; ERROR: 1 -(module (func (result f32 f32) - f32.const 0 - f32.const 3.14 - return)) -(;; STDERR ;;; -out/test/parse/expr/bad-return-multi.txt:3:10: error: multiple result values not currently supported. -(module (func (result f32 f32) - ^^^^ -;;; STDERR ;;) diff --git a/test/parse/expr/bad-try-sig-multi.txt b/test/parse/expr/bad-try-sig-multi.txt deleted file mode 100644 index c626b615f..000000000 --- a/test/parse/expr/bad-try-sig-multi.txt +++ /dev/null @@ -1,31 +0,0 @@ -;;; TOOL: wat2wasm -;;; ARGS: --enable-exceptions -;;; ERROR: 1 -(module - (func - try (result i32 i32) - i32.const 1 - i32.const 2 - catch - drop ;; drop exnref - i32.const 3 - i32.const 4 - end - return) - - (func - i32.const 0 - try (param i32) - drop - catch - drop ;; drop exnref - end - return)) -(;; STDERR ;;; -out/test/parse/expr/bad-try-sig-multi.txt:6:5: error: multiple result values not currently supported. - try (result i32 i32) - ^^^ -out/test/parse/expr/bad-try-sig-multi.txt:18:5: error: try params not currently supported. - try (param i32) - ^^^ -;;; STDERR ;;) diff --git a/test/parse/expr/block-multi-named.txt b/test/parse/expr/block-multi-named.txt index d5c6769e3..16df39a3a 100644 --- a/test/parse/expr/block-multi-named.txt +++ b/test/parse/expr/block-multi-named.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value (type $v_v (func)) (type $v_ii (func (param i32 i32))) (type $ii_v (func (result i32 i32))) diff --git a/test/parse/expr/block-multi.txt b/test/parse/expr/block-multi.txt index 15649dca0..44848b314 100644 --- a/test/parse/expr/block-multi.txt +++ b/test/parse/expr/block-multi.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value (module ;; block w/ multiple results (func diff --git a/test/parse/expr/convert-sat-disabled.txt b/test/parse/expr/convert-sat-disabled.txt deleted file mode 100644 index 59a500849..000000000 --- a/test/parse/expr/convert-sat-disabled.txt +++ /dev/null @@ -1,61 +0,0 @@ -;;; TOOL: wat2wasm -;;; ERROR: 1 -(module - (func - f32.const 0 - i32.trunc_s:sat/f32 - drop - - f32.const 0 - i32.trunc_u:sat/f32 - drop - - f64.const 0 - i32.trunc_s:sat/f64 - drop - - f64.const 0 - i32.trunc_u:sat/f64 - drop - - f32.const 0 - i64.trunc_s:sat/f32 - drop - - f32.const 0 - i64.trunc_u:sat/f32 - drop - - f64.const 0 - i64.trunc_s:sat/f64 - drop - - f64.const 0 - i64.trunc_u:sat/f64 - drop)) -(;; STDERR ;;; -out/test/parse/expr/convert-sat-disabled.txt:6:5: error: opcode not allowed: i32.trunc_sat_f32_s - i32.trunc_s:sat/f32 - ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/convert-sat-disabled.txt:10:5: error: opcode not allowed: i32.trunc_sat_f32_u - i32.trunc_u:sat/f32 - ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/convert-sat-disabled.txt:14:5: error: opcode not allowed: i32.trunc_sat_f64_s - i32.trunc_s:sat/f64 - ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/convert-sat-disabled.txt:18:5: error: opcode not allowed: i32.trunc_sat_f64_u - i32.trunc_u:sat/f64 - ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/convert-sat-disabled.txt:22:5: error: opcode not allowed: i64.trunc_sat_f32_s - i64.trunc_s:sat/f32 - ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/convert-sat-disabled.txt:26:5: error: opcode not allowed: i64.trunc_sat_f32_u - i64.trunc_u:sat/f32 - ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/convert-sat-disabled.txt:30:5: error: opcode not allowed: i64.trunc_sat_f64_s - i64.trunc_s:sat/f64 - ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/convert-sat-disabled.txt:34:5: error: opcode not allowed: i64.trunc_sat_f64_u - i64.trunc_u:sat/f64 - ^^^^^^^^^^^^^^^^^^^ -;;; STDERR ;;) diff --git a/test/parse/expr/convert-sat.txt b/test/parse/expr/convert-sat.txt index 4e5d731f1..2e134de2e 100644 --- a/test/parse/expr/convert-sat.txt +++ b/test/parse/expr/convert-sat.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-saturating-float-to-int (module (func f32.const 0 diff --git a/test/parse/expr/if-multi-named.txt b/test/parse/expr/if-multi-named.txt index 1c0ca7be5..169c96cd4 100644 --- a/test/parse/expr/if-multi-named.txt +++ b/test/parse/expr/if-multi-named.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value (type $v_v (func)) (type $v_ii (func (param i32 i32))) (type $ii_v (func (result i32 i32))) diff --git a/test/parse/expr/if-multi.txt b/test/parse/expr/if-multi.txt index d280c848d..458fedd9b 100644 --- a/test/parse/expr/if-multi.txt +++ b/test/parse/expr/if-multi.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value (module ;; if w/ multiple results (func diff --git a/test/parse/expr/loop-multi-named.txt b/test/parse/expr/loop-multi-named.txt index 00679c679..a9be52d1c 100644 --- a/test/parse/expr/loop-multi-named.txt +++ b/test/parse/expr/loop-multi-named.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value (type $v_v (func)) (type $v_ii (func (param i32 i32))) (type $ii_v (func (result i32 i32))) diff --git a/test/parse/expr/loop-multi.txt b/test/parse/expr/loop-multi.txt index fdbbfa876..8fb343a9d 100644 --- a/test/parse/expr/loop-multi.txt +++ b/test/parse/expr/loop-multi.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value (module ;; loop w/ multiple results (func diff --git a/test/parse/expr/try-multi.txt b/test/parse/expr/try-multi.txt index 02342c52d..387fff510 100644 --- a/test/parse/expr/try-multi.txt +++ b/test/parse/expr/try-multi.txt @@ -1,5 +1,5 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-exceptions --enable-multi-value +;;; ARGS: --enable-exceptions (module ;; try w/ multiple results (func diff --git a/test/parse/expr/unary-extend-disabled.txt b/test/parse/expr/unary-extend-disabled.txt deleted file mode 100644 index 2475127c6..000000000 --- a/test/parse/expr/unary-extend-disabled.txt +++ /dev/null @@ -1,40 +0,0 @@ -;;; TOOL: wat2wasm -;;; ERROR: 1 -(module - (func - i32.const 0 - i32.extend8_s - drop - - i32.const 0 - i32.extend16_s - drop - - i64.const 0 - i64.extend8_s - drop - - i64.const 0 - i64.extend16_s - drop - - i64.const 0 - i64.extend32_s - drop)) -(;; STDERR ;;; -out/test/parse/expr/unary-extend-disabled.txt:6:5: error: opcode not allowed: i32.extend8_s - i32.extend8_s - ^^^^^^^^^^^^^ -out/test/parse/expr/unary-extend-disabled.txt:10:5: error: opcode not allowed: i32.extend16_s - i32.extend16_s - ^^^^^^^^^^^^^^ -out/test/parse/expr/unary-extend-disabled.txt:14:5: error: opcode not allowed: i64.extend8_s - i64.extend8_s - ^^^^^^^^^^^^^ -out/test/parse/expr/unary-extend-disabled.txt:18:5: error: opcode not allowed: i64.extend16_s - i64.extend16_s - ^^^^^^^^^^^^^^ -out/test/parse/expr/unary-extend-disabled.txt:22:5: error: opcode not allowed: i64.extend32_s - i64.extend32_s - ^^^^^^^^^^^^^^ -;;; STDERR ;;) diff --git a/test/parse/expr/unary-extend.txt b/test/parse/expr/unary-extend.txt index f68cc06e5..0f483fcf6 100644 --- a/test/parse/expr/unary-extend.txt +++ b/test/parse/expr/unary-extend.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-sign-extension (module (func i32.const 0 diff --git a/test/parse/func/bad-result-multi.txt b/test/parse/func/bad-result-multi.txt deleted file mode 100644 index 71479ac22..000000000 --- a/test/parse/func/bad-result-multi.txt +++ /dev/null @@ -1,10 +0,0 @@ -;;; TOOL: wat2wasm -;;; ERROR: 1 -(module (func (result i32 i64) - i32.const 0 - i64.const 0)) -(;; STDERR ;;; -out/test/parse/func/bad-result-multi.txt:3:10: error: multiple result values not currently supported. -(module (func (result i32 i64) - ^^^^ -;;; STDERR ;;) diff --git a/test/parse/func/result-multi.txt b/test/parse/func/result-multi.txt index c6a97adba..1c807c62b 100644 --- a/test/parse/func/result-multi.txt +++ b/test/parse/func/result-multi.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value (module (func (result i32 i32) i32.const 0 diff --git a/test/roundtrip/fold-multi.txt b/test/roundtrip/fold-multi.txt index 55a6a49f8..9a3811320 100644 --- a/test/roundtrip/fold-multi.txt +++ b/test/roundtrip/fold-multi.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-roundtrip -;;; ARGS: --stdout --fold-exprs --enable-multi-value +;;; ARGS: --stdout --fold-exprs (module (func $dup (result i32 i32) i32.const 0 diff --git a/test/spec/binary.txt b/test/spec/binary.txt index 2bedbfb00..92eb40ce1 100644 --- a/test/spec/binary.txt +++ b/test/spec/binary.txt @@ -133,7 +133,8 @@ out/test/spec/binary.wast:741: assert_malformed passed: error: invalid depth: 11 (max 2) 0000024: error: OnBrTableExpr callback failed out/test/spec/binary.wast:763: assert_malformed passed: - 0000025: error: expected valid block signature type + error: function type variable out of range: 11 (max 1) + 0000025: error: OnBlockExpr callback failed out/test/spec/binary.wast:798: assert_malformed passed: 0000017: error: multiple Start sections 67/67 tests passed. diff --git a/test/spec/bulk-memory-operations/binary.txt b/test/spec/bulk-memory-operations/binary.txt index 7a70ead3f..69430f69c 100644 --- a/test/spec/bulk-memory-operations/binary.txt +++ b/test/spec/bulk-memory-operations/binary.txt @@ -177,7 +177,8 @@ out/test/spec/bulk-memory-operations/binary.wast:1148: assert_malformed passed: error: invalid depth: 11 (max 2) 0000024: error: OnBrTableExpr callback failed out/test/spec/bulk-memory-operations/binary.wast:1170: assert_malformed passed: - 0000025: error: expected valid block signature type + error: function type variable out of range: 11 (max 1) + 0000025: error: OnBlockExpr callback failed out/test/spec/bulk-memory-operations/binary.wast:1205: assert_malformed passed: 0000017: error: multiple Start sections 88/88 tests passed. diff --git a/test/spec/func.txt b/test/spec/func.txt index d4470bd6b..f5d9ce688 100644 --- a/test/spec/func.txt +++ b/test/spec/func.txt @@ -1,4 +1,5 @@ ;;; TOOL: run-interp-spec +;;; ARGS: --disable-multi-value ;;; STDIN_FILE: third_party/testsuite/func.wast (;; STDOUT ;;; out/test/spec/func.wast:303: assert_invalid passed: diff --git a/test/spec/multi-value/binary.txt b/test/spec/multi-value/binary.txt index 414c17d27..d3d8175a4 100644 --- a/test/spec/multi-value/binary.txt +++ b/test/spec/multi-value/binary.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/multi-value/binary.wast -;;; ARGS*: --enable-multi-value (;; STDOUT ;;; out/test/spec/multi-value/binary.wast:6: assert_malformed passed: 0000000: error: unable to read uint32_t: magic diff --git a/test/spec/multi-value/block.txt b/test/spec/multi-value/block.txt index 4e83f1132..2404eea63 100644 --- a/test/spec/multi-value/block.txt +++ b/test/spec/multi-value/block.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/multi-value/block.wast -;;; ARGS*: --enable-multi-value (;; STDOUT ;;; out/test/spec/multi-value/block.wast:422: assert_malformed passed: out/test/spec/multi-value/block/block.1.wat:1:96: error: unexpected token (, expected ). diff --git a/test/spec/multi-value/br.txt b/test/spec/multi-value/br.txt index 5a08db5c2..98e778624 100644 --- a/test/spec/multi-value/br.txt +++ b/test/spec/multi-value/br.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/multi-value/br.wast -;;; ARGS*: --enable-multi-value (;; STDOUT ;;; out/test/spec/multi-value/br.wast:471: assert_invalid passed: error: type mismatch in br, expected [i32] but got [] diff --git a/test/spec/multi-value/call.txt b/test/spec/multi-value/call.txt index 3a174823c..3b093d821 100644 --- a/test/spec/multi-value/call.txt +++ b/test/spec/multi-value/call.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/multi-value/call.wast -;;; ARGS*: --enable-multi-value (;; STDOUT ;;; out/test/spec/multi-value/call.wast:354: assert_trap passed: undefined table index out/test/spec/multi-value/call.wast:381: assert_invalid passed: diff --git a/test/spec/multi-value/call_indirect.txt b/test/spec/multi-value/call_indirect.txt index c06216e81..5322eef2c 100644 --- a/test/spec/multi-value/call_indirect.txt +++ b/test/spec/multi-value/call_indirect.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/multi-value/call_indirect.wast -;;; ARGS*: --enable-multi-value (;; STDOUT ;;; out/test/spec/multi-value/call_indirect.wast:498: assert_trap passed: indirect call signature mismatch out/test/spec/multi-value/call_indirect.wast:499: assert_trap passed: indirect call signature mismatch diff --git a/test/spec/multi-value/fac.txt b/test/spec/multi-value/fac.txt index 1c484772a..7565fc096 100644 --- a/test/spec/multi-value/fac.txt +++ b/test/spec/multi-value/fac.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/multi-value/fac.wast -;;; ARGS*: --enable-multi-value (;; STDOUT ;;; 7/7 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/multi-value/func.txt b/test/spec/multi-value/func.txt index 7eae22a92..b24bca506 100644 --- a/test/spec/multi-value/func.txt +++ b/test/spec/multi-value/func.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/multi-value/func.wast -;;; ARGS*: --enable-multi-value (;; STDOUT ;;; out/test/spec/multi-value/func.wast:436: assert_invalid passed: 0000000: error: function type variable out of range: 2 (max 2) diff --git a/test/spec/multi-value/if.txt b/test/spec/multi-value/if.txt index b3b3acf15..1d6dc9240 100644 --- a/test/spec/multi-value/if.txt +++ b/test/spec/multi-value/if.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/multi-value/if.wast -;;; ARGS*: --enable-multi-value (;; STDOUT ;;; out/test/spec/multi-value/if.wast:585: assert_trap passed: undefined table index out/test/spec/multi-value/if.wast:726: assert_malformed passed: diff --git a/test/spec/multi-value/loop.txt b/test/spec/multi-value/loop.txt index c33c65618..43cde4dd5 100644 --- a/test/spec/multi-value/loop.txt +++ b/test/spec/multi-value/loop.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/multi-value/loop.wast -;;; ARGS*: --enable-multi-value (;; STDOUT ;;; out/test/spec/multi-value/loop.wast:526: assert_malformed passed: out/test/spec/multi-value/loop/loop.1.wat:1:95: error: unexpected token (, expected ). diff --git a/test/spec/multi-value/type.txt b/test/spec/multi-value/type.txt index 1a701d1c9..125f3004f 100644 --- a/test/spec/multi-value/type.txt +++ b/test/spec/multi-value/type.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/multi-value/type.wast -;;; ARGS*: --enable-multi-value (;; STDOUT ;;; out/test/spec/multi-value/type.wast:44: assert_malformed passed: out/test/spec/multi-value/type/type.1.wat:1:27: error: unexpected token "param", expected param or result. diff --git a/test/spec/nontrapping-float-to-int-conversions/conversions.txt b/test/spec/nontrapping-float-to-int-conversions/conversions.txt index 302318f8d..23d28ed43 100644 --- a/test/spec/nontrapping-float-to-int-conversions/conversions.txt +++ b/test/spec/nontrapping-float-to-int-conversions/conversions.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/nontrapping-float-to-int-conversions/conversions.wast -;;; ARGS*: --enable-saturating-float-to-int (;; STDOUT ;;; out/test/spec/nontrapping-float-to-int-conversions/conversions.wast:78: assert_trap passed: integer overflow out/test/spec/nontrapping-float-to-int-conversions/conversions.wast:79: assert_trap passed: integer overflow diff --git a/test/spec/reference-types/binary.txt b/test/spec/reference-types/binary.txt index ecbf665d3..abbf2ba56 100644 --- a/test/spec/reference-types/binary.txt +++ b/test/spec/reference-types/binary.txt @@ -221,7 +221,8 @@ out/test/spec/reference-types/binary.wast:1455: assert_malformed passed: error: invalid depth: 11 (max 2) 0000024: error: OnBrTableExpr callback failed out/test/spec/reference-types/binary.wast:1477: assert_malformed passed: - 0000025: error: expected valid block signature type + error: function type variable out of range: 11 (max 1) + 0000025: error: OnBlockExpr callback failed out/test/spec/reference-types/binary.wast:1512: assert_malformed passed: 0000017: error: multiple Start sections 110/110 tests passed. diff --git a/test/spec/reference-types/select.txt b/test/spec/reference-types/select.txt index a7073f482..68349b55f 100644 --- a/test/spec/reference-types/select.txt +++ b/test/spec/reference-types/select.txt @@ -14,8 +14,7 @@ out/test/spec/reference-types/select.wast:373: assert_invalid passed: out/test/spec/reference-types/select.wast:377: assert_invalid passed: 000001d: error: invalid arity in select instrcution: 0 out/test/spec/reference-types/select.wast:381: assert_invalid passed: - error: multiple result values not currently supported. - 0000010: error: OnFuncType callback failed + 0000025: error: invalid arity in select instrcution: 2 out/test/spec/reference-types/select.wast:393: assert_invalid passed: error: type mismatch in select, expected [any, any, i32] but got [nullref, nullref, i32] 000001c: error: OnSelectExpr callback failed diff --git a/test/spec/sign-extension-ops/i32.txt b/test/spec/sign-extension-ops/i32.txt index 3f921e00e..aa643ec46 100644 --- a/test/spec/sign-extension-ops/i32.txt +++ b/test/spec/sign-extension-ops/i32.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/sign-extension-ops/i32.wast -;;; ARGS*: --enable-sign-extension (;; STDOUT ;;; out/test/spec/sign-extension-ops/i32.wast:64: assert_trap passed: integer divide by zero out/test/spec/sign-extension-ops/i32.wast:65: assert_trap passed: integer divide by zero diff --git a/test/spec/sign-extension-ops/i64.txt b/test/spec/sign-extension-ops/i64.txt index 62b44c4f6..43cbffd5c 100644 --- a/test/spec/sign-extension-ops/i64.txt +++ b/test/spec/sign-extension-ops/i64.txt @@ -1,6 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/proposals/sign-extension-ops/i64.wast -;;; ARGS*: --enable-sign-extension (;; STDOUT ;;; out/test/spec/sign-extension-ops/i64.wast:65: assert_trap passed: integer divide by zero out/test/spec/sign-extension-ops/i64.wast:66: assert_trap passed: integer divide by zero diff --git a/test/spec/type.txt b/test/spec/type.txt index 0dd53e130..850bd2a70 100644 --- a/test/spec/type.txt +++ b/test/spec/type.txt @@ -1,4 +1,5 @@ ;;; TOOL: run-interp-spec +;;; ARGS: --disable-multi-value ;;; STDIN_FILE: third_party/testsuite/type.wast ;;; NOTE: Two tests don't pass because they use quoted modules with assert_invalid, which isn't currently supported by wabt. (;; STDOUT ;;; diff --git a/test/typecheck/bad-block-multi-mismatch.txt b/test/typecheck/bad-block-multi-mismatch.txt index 5c73842c7..4c7e4d094 100644 --- a/test/typecheck/bad-block-multi-mismatch.txt +++ b/test/typecheck/bad-block-multi-mismatch.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value ;;; ERROR: 1 (module ;; too few results @@ -40,19 +39,19 @@ end) ) (;; STDERR ;;; -out/test/typecheck/bad-block-multi-mismatch.txt:9:5: error: type mismatch in block, expected [i32, i32] but got [i32] +out/test/typecheck/bad-block-multi-mismatch.txt:8:5: error: type mismatch in block, expected [i32, i32] but got [i32] end ^^^ -out/test/typecheck/bad-block-multi-mismatch.txt:18:5: error: type mismatch in block, expected [] but got [i32] +out/test/typecheck/bad-block-multi-mismatch.txt:17:5: error: type mismatch in block, expected [] but got [i32] end ^^^ -out/test/typecheck/bad-block-multi-mismatch.txt:26:5: error: type mismatch in block, expected [f32, i32] but got [i32, i32] +out/test/typecheck/bad-block-multi-mismatch.txt:25:5: error: type mismatch in block, expected [f32, i32] but got [i32, i32] end ^^^ -out/test/typecheck/bad-block-multi-mismatch.txt:31:5: error: type mismatch in block, expected [i32] but got [] +out/test/typecheck/bad-block-multi-mismatch.txt:30:5: error: type mismatch in block, expected [i32] but got [] block (param i32) ^^^^^ -out/test/typecheck/bad-block-multi-mismatch.txt:38:5: error: type mismatch in block, expected [i32] but got [f32] +out/test/typecheck/bad-block-multi-mismatch.txt:37:5: error: type mismatch in block, expected [i32] but got [f32] block (param i32) ^^^^^ ;;; STDERR ;;) diff --git a/test/typecheck/bad-if-multi-mismatch.txt b/test/typecheck/bad-if-multi-mismatch.txt index 5008f669e..d6c193273 100644 --- a/test/typecheck/bad-if-multi-mismatch.txt +++ b/test/typecheck/bad-if-multi-mismatch.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value ;;; ERROR: 1 (module ;; too many results @@ -58,28 +57,28 @@ end) ) (;; STDERR ;;; -out/test/typecheck/bad-if-multi-mismatch.txt:11:7: error: type mismatch in if true branch, expected [] but got [i32] +out/test/typecheck/bad-if-multi-mismatch.txt:10:7: error: type mismatch in if true branch, expected [] but got [i32] i64.const 0 ^^^^^^^^^ -out/test/typecheck/bad-if-multi-mismatch.txt:16:5: error: type mismatch in if false branch, expected [] but got [i32] +out/test/typecheck/bad-if-multi-mismatch.txt:15:5: error: type mismatch in if false branch, expected [] but got [i32] end ^^^ -out/test/typecheck/bad-if-multi-mismatch.txt:23:7: error: type mismatch in if true branch, expected [i32, f64] but got [f64] +out/test/typecheck/bad-if-multi-mismatch.txt:22:7: error: type mismatch in if true branch, expected [i32, f64] but got [f64] f64.const 0 ^^^^^^^^^ -out/test/typecheck/bad-if-multi-mismatch.txt:26:5: error: type mismatch in if false branch, expected [i32, f64] but got [f64] +out/test/typecheck/bad-if-multi-mismatch.txt:25:5: error: type mismatch in if false branch, expected [i32, f64] but got [f64] end ^^^ -out/test/typecheck/bad-if-multi-mismatch.txt:34:7: error: type mismatch in if true branch, expected [i32, f64] but got [f32, f64] +out/test/typecheck/bad-if-multi-mismatch.txt:33:7: error: type mismatch in if true branch, expected [i32, f64] but got [f32, f64] f64.const 0 ^^^^^^^^^ -out/test/typecheck/bad-if-multi-mismatch.txt:38:5: error: type mismatch in if false branch, expected [i32, f64] but got [f32, f64] +out/test/typecheck/bad-if-multi-mismatch.txt:37:5: error: type mismatch in if false branch, expected [i32, f64] but got [f32, f64] end ^^^ -out/test/typecheck/bad-if-multi-mismatch.txt:44:5: error: type mismatch in if, expected [i32] but got [] +out/test/typecheck/bad-if-multi-mismatch.txt:43:5: error: type mismatch in if, expected [i32] but got [] if (param i32) ^^ -out/test/typecheck/bad-if-multi-mismatch.txt:54:5: error: type mismatch in if, expected [i32] but got [f32] +out/test/typecheck/bad-if-multi-mismatch.txt:53:5: error: type mismatch in if, expected [i32] but got [f32] if (param i32) ^^ ;;; STDERR ;;) diff --git a/test/typecheck/bad-loop-multi-mismatch.txt b/test/typecheck/bad-loop-multi-mismatch.txt index 1592aa4cc..b28509767 100644 --- a/test/typecheck/bad-loop-multi-mismatch.txt +++ b/test/typecheck/bad-loop-multi-mismatch.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value ;;; ERROR: 1 (module ;; too few results @@ -40,19 +39,19 @@ end) ) (;; STDERR ;;; -out/test/typecheck/bad-loop-multi-mismatch.txt:9:5: error: type mismatch in loop, expected [i32, i32] but got [i32] +out/test/typecheck/bad-loop-multi-mismatch.txt:8:5: error: type mismatch in loop, expected [i32, i32] but got [i32] end ^^^ -out/test/typecheck/bad-loop-multi-mismatch.txt:18:5: error: type mismatch in loop, expected [] but got [i32] +out/test/typecheck/bad-loop-multi-mismatch.txt:17:5: error: type mismatch in loop, expected [] but got [i32] end ^^^ -out/test/typecheck/bad-loop-multi-mismatch.txt:26:5: error: type mismatch in loop, expected [f32, i32] but got [i32, i32] +out/test/typecheck/bad-loop-multi-mismatch.txt:25:5: error: type mismatch in loop, expected [f32, i32] but got [i32, i32] end ^^^ -out/test/typecheck/bad-loop-multi-mismatch.txt:31:5: error: type mismatch in loop, expected [i32] but got [] +out/test/typecheck/bad-loop-multi-mismatch.txt:30:5: error: type mismatch in loop, expected [i32] but got [] loop (param i32) ^^^^ -out/test/typecheck/bad-loop-multi-mismatch.txt:38:5: error: type mismatch in loop, expected [i32] but got [f32] +out/test/typecheck/bad-loop-multi-mismatch.txt:37:5: error: type mismatch in loop, expected [i32] but got [f32] loop (param i32) ^^^^ ;;; STDERR ;;) diff --git a/test/typecheck/br-multi.txt b/test/typecheck/br-multi.txt index 9457d9fd3..f3cbfa58f 100644 --- a/test/typecheck/br-multi.txt +++ b/test/typecheck/br-multi.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value (module ;; block (func diff --git a/test/typecheck/brif-multi.txt b/test/typecheck/brif-multi.txt index afda493e9..5d8ba40a6 100644 --- a/test/typecheck/brif-multi.txt +++ b/test/typecheck/brif-multi.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value (module ;; block (func diff --git a/test/typecheck/brtable-multi.txt b/test/typecheck/brtable-multi.txt index 9ed7bdd0a..7a4ec4dec 100644 --- a/test/typecheck/brtable-multi.txt +++ b/test/typecheck/brtable-multi.txt @@ -1,5 +1,4 @@ ;;; TOOL: wat2wasm -;;; ARGS: --enable-multi-value (module ;; block (func