summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/binary-reader-interp.cc22
-rw-r--r--test/spec/binary.txt8
-rw-r--r--test/spec/custom.txt19
-rw-r--r--test/spec/data.txt59
-rw-r--r--test/spec/elem.txt53
-rw-r--r--test/spec/linking.txt12
-rw-r--r--test/spec/memory.txt169
m---------third_party/testsuite0
8 files changed, 229 insertions, 113 deletions
diff --git a/src/binary-reader-interp.cc b/src/binary-reader-interp.cc
index 6fcda5e1..b8907458 100644
--- a/src/binary-reader-interp.cc
+++ b/src/binary-reader-interp.cc
@@ -197,6 +197,8 @@ class BinaryReaderInterp : public BinaryReaderNop {
wabt::Result EndFunctionBody(Index index) override;
wabt::Result EndElemSegmentInitExpr(Index index) override;
+ wabt::Result OnElemSegmentFunctionIndexCount(Index index,
+ Index count) override;
wabt::Result OnElemSegmentFunctionIndex(Index index,
Index func_index) override;
@@ -741,6 +743,8 @@ wabt::Result BinaryReaderInterp::OnImportTable(Index import_index,
CHECK_RESULT(CheckImportLimits(elem_limits, &table->limits));
+ table->func_indexes.resize(table->limits.initial);
+
module_->table_index = env_->GetTableCount() - 1;
AppendExport(host_import_module, ExternalKind::Table, module_->table_index,
import->field_name);
@@ -1005,16 +1009,23 @@ wabt::Result BinaryReaderInterp::EndElemSegmentInitExpr(Index index) {
return wabt::Result::Ok;
}
-wabt::Result BinaryReaderInterp::OnElemSegmentFunctionIndex(Index index,
- Index func_index) {
+wabt::Result BinaryReaderInterp::OnElemSegmentFunctionIndexCount(Index index,
+ Index count) {
assert(module_->table_index != kInvalidIndex);
Table* table = env_->GetTable(module_->table_index);
- if (table_offset_ >= table->func_indexes.size()) {
- PrintError("elem segment offset is out of bounds: %u >= max value %" PRIzd,
- table_offset_, table->func_indexes.size());
+ // Check both cases, as table_offset_ + count may overflow.
+ if (table_offset_ > table->func_indexes.size() ||
+ table_offset_ + count > table->func_indexes.size()) {
+ PrintError("elem segment is out of bounds: [%u, %u) >= max value %" PRIzd,
+ table_offset_, table_offset_ + count,
+ table->func_indexes.size());
return wabt::Result::Error;
}
+ return wabt::Result::Ok;
+}
+wabt::Result BinaryReaderInterp::OnElemSegmentFunctionIndex(Index index,
+ Index func_index) {
Index max_func_index = func_index_mapping_.size();
if (func_index >= max_func_index) {
PrintError("invalid func_index: %" PRIindex " (max %" PRIindex ")",
@@ -1022,6 +1033,7 @@ wabt::Result BinaryReaderInterp::OnElemSegmentFunctionIndex(Index index,
return wabt::Result::Error;
}
+ Table* table = env_->GetTable(module_->table_index);
elem_segment_infos_.emplace_back(&table->func_indexes[table_offset_++],
TranslateFuncIndexToEnv(func_index));
return wabt::Result::Ok;
diff --git a/test/spec/binary.txt b/test/spec/binary.txt
index 7bb4f03c..b37e22ff 100644
--- a/test/spec/binary.txt
+++ b/test/spec/binary.txt
@@ -57,5 +57,11 @@ out/test/spec/binary.wast:43: assert_malformed passed:
0000008: error: bad wasm file version: 0x10000 (expected 0x1)
out/test/spec/binary.wast:44: assert_malformed passed:
0000008: error: bad wasm file version: 0x1000000 (expected 0x1)
-28/28 tests passed.
+out/test/spec/binary.wast:48: assert_malformed passed:
+ 0000022: error: call_indirect reserved value must be 0
+out/test/spec/binary.wast:67: assert_malformed passed:
+ 0000020: error: grow_memory reserved value must be 0
+out/test/spec/binary.wast:87: assert_malformed passed:
+ 000001e: error: current_memory reserved value must be 0
+31/31 tests passed.
;;; STDOUT ;;)
diff --git a/test/spec/custom.txt b/test/spec/custom.txt
new file mode 100644
index 00000000..2e962408
--- /dev/null
+++ b/test/spec/custom.txt
@@ -0,0 +1,19 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/custom.wast
+(;; STDOUT ;;;
+out/test/spec/custom.wast:61: assert_malformed passed:
+ 0000009: error: unable to read u32 leb128: section size
+out/test/spec/custom.wast:69: assert_malformed passed:
+ 000000a: error: unable to read u32 leb128: string length
+out/test/spec/custom.wast:77: assert_malformed passed:
+ 000000a: error: unable to read u32 leb128: string length
+out/test/spec/custom.wast:85: assert_malformed passed:
+ 000000a: error: invalid section size: extends past end
+out/test/spec/custom.wast:93: assert_malformed passed:
+ 0000031: error: invalid section code: 36; max is 11
+out/test/spec/custom.wast:102: assert_malformed passed:
+ 000003e: error: function signature count != function body count
+out/test/spec/custom.wast:115: assert_malformed passed:
+ 000000a: error: invalid section size: extends past end
+7/7 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/data.txt b/test/spec/data.txt
new file mode 100644
index 00000000..d8b92480
--- /dev/null
+++ b/test/spec/data.txt
@@ -0,0 +1,59 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/data.wast
+(;; STDOUT ;;;
+out/test/spec/data.wast:162: assert_unlinkable passed:
+ error: data segment is out of bounds: [0, 1) >= max value 0
+ 0000016: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:170: assert_unlinkable passed:
+ error: data segment is out of bounds: [0, 1) >= max value 0
+ 0000017: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:178: assert_unlinkable passed:
+ error: data segment is out of bounds: [0, 1) >= max value 0
+ 0000017: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:186: assert_unlinkable passed:
+ error: data segment is out of bounds: [1, 1) >= max value 0
+ 0000015: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:194: assert_unlinkable passed:
+ error: data segment is out of bounds: [1, 1) >= max value 0
+ 0000016: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:211: assert_unlinkable passed:
+ error: data segment is out of bounds: [666, 667) >= max value 0
+ 0000030: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:220: assert_unlinkable passed:
+ error: data segment is out of bounds: [65536, 65537) >= max value 65536
+ 0000019: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:227: assert_unlinkable passed:
+ error: data segment is out of bounds: [65536, 65537) >= max value 65536
+ 0000029: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:235: assert_unlinkable passed:
+ error: data segment is out of bounds: [131072, 131073) >= max value 131072
+ 0000018: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:243: assert_unlinkable passed:
+ error: data segment is out of bounds: [131072, 131073) >= max value 131072
+ 0000019: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:251: assert_unlinkable passed:
+ error: data segment is out of bounds: [4294967295, 4294967296) >= max value 65536
+ 0000016: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:258: assert_unlinkable passed:
+ error: data segment is out of bounds: [4294967295, 4294967296) >= max value 65536
+ 0000027: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:266: assert_unlinkable passed:
+ error: data segment is out of bounds: [4294967196, 4294967197) >= max value 131072
+ 0000017: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:273: assert_unlinkable passed:
+ error: data segment is out of bounds: [4294967196, 4294967197) >= max value 65536
+ 0000028: error: OnDataSegmentData callback failed
+out/test/spec/data.wast:283: assert_invalid passed:
+ 000000b: error: data section without memory section
+out/test/spec/data.wast:292: assert_invalid passed:
+ 0000013: error: expected i32 init_expr
+out/test/spec/data.wast:300: assert_invalid passed:
+ 0000014: error: expected END opcode after initializer expression
+out/test/spec/data.wast:308: assert_invalid passed:
+ 0000012: error: unexpected opcode in initializer expression: 1 (0x1)
+out/test/spec/data.wast:316: assert_invalid passed:
+ 0000012: error: unexpected opcode in initializer expression: 1 (0x1)
+out/test/spec/data.wast:324: assert_invalid passed:
+ 0000014: error: expected END opcode after initializer expression
+20/20 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/elem.txt b/test/spec/elem.txt
new file mode 100644
index 00000000..5e6b15a6
--- /dev/null
+++ b/test/spec/elem.txt
@@ -0,0 +1,53 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/elem.wast
+(;; STDOUT ;;;
+out/test/spec/elem.wast:143: assert_unlinkable passed:
+ error: elem segment is out of bounds: [0, 1) >= max value 0
+ 0000020: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:152: assert_unlinkable passed:
+ error: elem segment is out of bounds: [0, 1) >= max value 0
+ 0000021: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:161: assert_unlinkable passed:
+ error: elem segment is out of bounds: [0, 1) >= max value 0
+ 0000021: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:170: assert_unlinkable passed:
+ error: elem segment is out of bounds: [1, 1) >= max value 0
+ 0000016: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:178: assert_unlinkable passed:
+ error: elem segment is out of bounds: [10, 11) >= max value 10
+ 0000020: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:186: assert_unlinkable passed:
+ error: elem segment is out of bounds: [10, 11) >= max value 10
+ 0000030: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:195: assert_unlinkable passed:
+ error: elem segment is out of bounds: [10, 11) >= max value 10
+ 0000021: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:203: assert_unlinkable passed:
+ error: elem segment is out of bounds: [10, 11) >= max value 10
+ 0000030: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:212: assert_unlinkable passed:
+ error: elem segment is out of bounds: [4294967295, 0) >= max value 10
+ 0000020: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:220: assert_unlinkable passed:
+ error: elem segment is out of bounds: [4294967295, 0) >= max value 10
+ 0000030: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:229: assert_unlinkable passed:
+ error: elem segment is out of bounds: [4294967286, 4294967287) >= max value 10
+ 0000020: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:237: assert_unlinkable passed:
+ error: elem segment is out of bounds: [4294967286, 4294967287) >= max value 10
+ 0000030: error: OnElemSegmentFunctionIndexCount callback failed
+out/test/spec/elem.wast:248: assert_invalid passed:
+ 0000015: error: elem section without table section
+out/test/spec/elem.wast:258: assert_invalid passed:
+ 0000014: error: expected i32 init_expr
+out/test/spec/elem.wast:266: assert_invalid passed:
+ 0000015: error: expected END opcode after initializer expression
+out/test/spec/elem.wast:274: assert_invalid passed:
+ 0000013: error: unexpected opcode in initializer expression: 1 (0x1)
+out/test/spec/elem.wast:282: assert_invalid passed:
+ 0000013: error: unexpected opcode in initializer expression: 1 (0x1)
+out/test/spec/elem.wast:290: assert_invalid passed:
+ 0000015: error: expected END opcode after initializer expression
+31/31 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/linking.txt b/test/spec/linking.txt
index 1d24dcdd..bad4740a 100644
--- a/test/spec/linking.txt
+++ b/test/spec/linking.txt
@@ -8,14 +8,14 @@ out/test/spec/linking.wast:32: assert_unlinkable passed:
error: import signature mismatch
0000026: error: OnImportFunc callback failed
out/test/spec/linking.wast:174: assert_unlinkable passed:
- error: elem segment offset is out of bounds: 10 >= max value 10
- 0000029: error: OnElemSegmentFunctionIndex callback failed
+ error: elem segment is out of bounds: [10, 11) >= max value 10
+ 0000028: error: OnElemSegmentFunctionIndexCount callback failed
out/test/spec/linking.wast:183: assert_unlinkable passed:
error: unknown module field "mem"
0000027: error: OnImportMemory callback failed
out/test/spec/linking.wast:195: assert_unlinkable passed:
- error: elem segment offset is out of bounds: 12 >= max value 10
- 0000030: error: OnElemSegmentFunctionIndex callback failed
+ error: elem segment is out of bounds: [12, 13) >= max value 10
+ 000002f: error: OnElemSegmentFunctionIndexCount callback failed
out/test/spec/linking.wast:206: assert_unlinkable passed:
error: data segment is out of bounds: [65536, 65537) >= max value 65536
0000042: error: OnDataSegmentData callback failed
@@ -29,7 +29,7 @@ out/test/spec/linking.wast:302: assert_unlinkable passed:
error: data segment is out of bounds: [327680, 327681) >= max value 327680
0000028: error: OnDataSegmentData callback failed
out/test/spec/linking.wast:312: assert_unlinkable passed:
- error: elem segment offset is out of bounds: 0 >= max value 0
- 000002e: error: OnElemSegmentFunctionIndex callback failed
+ error: elem segment is out of bounds: [0, 1) >= max value 0
+ 000002d: error: OnElemSegmentFunctionIndexCount callback failed
80/80 tests passed.
;;; STDOUT ;;)
diff --git a/test/spec/memory.txt b/test/spec/memory.txt
index 08c777ab..aceac7fc 100644
--- a/test/spec/memory.txt
+++ b/test/spec/memory.txt
@@ -1,188 +1,155 @@
;;; TOOL: run-interp-spec
;;; STDIN_FILE: third_party/testsuite/memory.wast
(;; STDOUT ;;;
-out/test/spec/memory.wast:19: assert_invalid passed:
+out/test/spec/memory.wast:8: assert_invalid passed:
000000b: error: memory count must be 0 or 1
-out/test/spec/memory.wast:20: assert_invalid passed:
+out/test/spec/memory.wast:9: assert_invalid passed:
error: only one memory allowed
0000023: error: OnMemory callback failed
-out/test/spec/memory.wast:29: assert_invalid passed:
+out/test/spec/memory.wast:18: assert_invalid passed:
000000b: error: data section without memory section
-out/test/spec/memory.wast:30: assert_invalid passed:
+out/test/spec/memory.wast:19: assert_invalid passed:
000000b: error: data section without memory section
-out/test/spec/memory.wast:31: assert_invalid passed:
+out/test/spec/memory.wast:20: assert_invalid passed:
000000b: error: data section without memory section
-out/test/spec/memory.wast:34: assert_invalid passed:
+out/test/spec/memory.wast:23: assert_invalid passed:
error: f32.load requires an imported or defined memory.
000001c: error: OnLoadExpr callback failed
-out/test/spec/memory.wast:38: assert_invalid passed:
+out/test/spec/memory.wast:27: assert_invalid passed:
error: f32.store requires an imported or defined memory.
0000021: error: OnStoreExpr callback failed
-out/test/spec/memory.wast:42: assert_invalid passed:
+out/test/spec/memory.wast:31: assert_invalid passed:
error: i32.load8_s requires an imported or defined memory.
000001c: error: OnLoadExpr callback failed
-out/test/spec/memory.wast:46: assert_invalid passed:
+out/test/spec/memory.wast:35: assert_invalid passed:
error: i32.store8 requires an imported or defined memory.
000001e: error: OnStoreExpr callback failed
-out/test/spec/memory.wast:50: assert_invalid passed:
+out/test/spec/memory.wast:39: assert_invalid passed:
error: current_memory requires an imported or defined memory.
0000019: error: OnCurrentMemoryExpr callback failed
-out/test/spec/memory.wast:54: assert_invalid passed:
+out/test/spec/memory.wast:43: assert_invalid passed:
error: grow_memory requires an imported or defined memory.
000001b: error: OnGrowMemoryExpr callback failed
-out/test/spec/memory.wast:59: assert_invalid passed:
- 0000013: error: expected i32 init_expr
-out/test/spec/memory.wast:63: assert_invalid passed:
- 0000014: error: expected END opcode after initializer expression
-out/test/spec/memory.wast:67: assert_invalid passed:
- 0000012: error: unexpected opcode in initializer expression: 1 (0x1)
-out/test/spec/memory.wast:77: assert_unlinkable passed:
- error: data segment is out of bounds: [0, 1) >= max value 0
- 0000017: error: OnDataSegmentData callback failed
-out/test/spec/memory.wast:81: assert_unlinkable passed:
- error: data segment is out of bounds: [0, 1) >= max value 0
- 0000017: error: OnDataSegmentData callback failed
-out/test/spec/memory.wast:85: assert_unlinkable passed:
- error: data segment is out of bounds: [4294967295, 4294967296) >= max value 65536
- 0000017: error: OnDataSegmentData callback failed
-out/test/spec/memory.wast:89: assert_unlinkable passed:
- error: data segment is out of bounds: [4294966296, 4294966297) >= max value 65536
- 0000018: error: OnDataSegmentData callback failed
-out/test/spec/memory.wast:93: assert_unlinkable passed:
- error: data segment is out of bounds: [98304, 98305) >= max value 65536
- 000001f: error: OnDataSegmentData callback failed
-out/test/spec/memory.wast:97: assert_unlinkable passed:
- error: data segment is out of bounds: [1, 1) >= max value 0
- 0000016: error: OnDataSegmentData callback failed
-out/test/spec/memory.wast:101: assert_unlinkable passed:
- error: data segment is out of bounds: [73728, 73728) >= max value 65536
- 0000017: error: OnDataSegmentData callback failed
-out/test/spec/memory.wast:105: assert_unlinkable passed:
- error: data segment is out of bounds: [4294967295, 4294967295) >= max value 65536
- 0000016: error: OnDataSegmentData callback failed
-out/test/spec/memory.wast:114: assert_unlinkable passed:
- error: data segment is out of bounds: [666, 667) >= max value 0
- 0000030: error: OnDataSegmentData callback failed
-out/test/spec/memory.wast:131: assert_invalid passed:
+out/test/spec/memory.wast:49: assert_invalid passed:
000000e: error: memory initial size must be <= max size
-out/test/spec/memory.wast:135: assert_invalid passed:
+out/test/spec/memory.wast:53: assert_invalid passed:
000000f: error: invalid memory initial size
-out/test/spec/memory.wast:139: assert_invalid passed:
+out/test/spec/memory.wast:57: assert_invalid passed:
0000011: error: invalid memory initial size
-out/test/spec/memory.wast:143: assert_invalid passed:
+out/test/spec/memory.wast:61: assert_invalid passed:
0000011: error: invalid memory initial size
-out/test/spec/memory.wast:147: assert_invalid passed:
+out/test/spec/memory.wast:65: assert_invalid passed:
0000010: error: invalid memory max size
-out/test/spec/memory.wast:151: assert_invalid passed:
+out/test/spec/memory.wast:69: assert_invalid passed:
0000012: error: invalid memory max size
-out/test/spec/memory.wast:155: assert_invalid passed:
+out/test/spec/memory.wast:73: assert_invalid passed:
0000012: error: invalid memory max size
-out/test/spec/memory.wast:166: assert_invalid passed:
+out/test/spec/memory.wast:84: assert_invalid passed:
error: alignment must not be larger than natural alignment (8)
0000021: error: OnLoadExpr callback failed
-out/test/spec/memory.wast:170: assert_invalid passed:
+out/test/spec/memory.wast:88: assert_invalid passed:
error: alignment must not be larger than natural alignment (8)
0000021: error: OnLoadExpr callback failed
-out/test/spec/memory.wast:174: assert_invalid passed:
+out/test/spec/memory.wast:92: assert_invalid passed:
error: alignment must not be larger than natural alignment (4)
0000021: error: OnLoadExpr callback failed
-out/test/spec/memory.wast:178: assert_invalid passed:
+out/test/spec/memory.wast:96: assert_invalid passed:
error: alignment must not be larger than natural alignment (2)
0000021: error: OnLoadExpr callback failed
-out/test/spec/memory.wast:182: assert_invalid passed:
+out/test/spec/memory.wast:100: assert_invalid passed:
error: alignment must not be larger than natural alignment (1)
0000021: error: OnLoadExpr callback failed
-out/test/spec/memory.wast:186: assert_invalid passed:
+out/test/spec/memory.wast:104: assert_invalid passed:
error: alignment must not be larger than natural alignment (1)
0000023: error: OnStoreExpr callback failed
-out/test/spec/memory.wast:190: assert_invalid passed:
+out/test/spec/memory.wast:108: assert_invalid passed:
error: alignment must not be larger than natural alignment (2)
0000021: error: OnLoadExpr callback failed
-out/test/spec/memory.wast:194: assert_invalid passed:
+out/test/spec/memory.wast:112: assert_invalid passed:
error: alignment must not be larger than natural alignment (1)
0000021: error: OnLoadExpr callback failed
-out/test/spec/memory.wast:198: assert_invalid passed:
+out/test/spec/memory.wast:116: assert_invalid passed:
error: alignment must not be larger than natural alignment (1)
0000023: error: OnStoreExpr callback failed
-out/test/spec/memory.wast:390: assert_malformed passed:
- out/test/spec/memory/memory.63.wat:1:43: error: unexpected token "i32.load32", expected an instr.
+out/test/spec/memory.wast:308: assert_malformed passed:
+ out/test/spec/memory/memory.39.wat:1:43: error: unexpected token "i32.load32", expected an instr.
(memory 1)(func (param i32) (result i32) (i32.load32 (get_local 0)))
^^^^^^^^^^
-out/test/spec/memory.wast:397: assert_malformed passed:
- out/test/spec/memory/memory.64.wat:1:43: error: unexpected token "i32.load32_u", expected an instr.
+out/test/spec/memory.wast:315: assert_malformed passed:
+ out/test/spec/memory/memory.40.wat:1:43: error: unexpected token "i32.load32_u", expected an instr.
(memory 1)(func (param i32) (result i32) (i32.load32_u (get_local 0)))
^^^^^^^^^^^^
-out/test/spec/memory.wast:404: assert_malformed passed:
- out/test/spec/memory/memory.65.wat:1:43: error: unexpected token "i32.load32_s", expected an instr.
+out/test/spec/memory.wast:322: assert_malformed passed:
+ out/test/spec/memory/memory.41.wat:1:43: error: unexpected token "i32.load32_s", expected an instr.
(memory 1)(func (param i32) (result i32) (i32.load32_s (get_local 0)))
^^^^^^^^^^^^
-out/test/spec/memory.wast:411: assert_malformed passed:
- out/test/spec/memory/memory.66.wat:1:43: error: unexpected token "i32.load64", expected an instr.
+out/test/spec/memory.wast:329: assert_malformed passed:
+ out/test/spec/memory/memory.42.wat:1:43: error: unexpected token "i32.load64", expected an instr.
(memory 1)(func (param i32) (result i32) (i32.load64 (get_local 0)))
^^^^^^^^^^
-out/test/spec/memory.wast:418: assert_malformed passed:
- out/test/spec/memory/memory.67.wat:1:43: error: unexpected token "i32.load64_u", expected an instr.
+out/test/spec/memory.wast:336: assert_malformed passed:
+ out/test/spec/memory/memory.43.wat:1:43: error: unexpected token "i32.load64_u", expected an instr.
(memory 1)(func (param i32) (result i32) (i32.load64_u (get_local 0)))
^^^^^^^^^^^^
-out/test/spec/memory.wast:425: assert_malformed passed:
- out/test/spec/memory/memory.68.wat:1:43: error: unexpected token "i32.load64_s", expected an instr.
+out/test/spec/memory.wast:343: assert_malformed passed:
+ out/test/spec/memory/memory.44.wat:1:43: error: unexpected token "i32.load64_s", expected an instr.
(memory 1)(func (param i32) (result i32) (i32.load64_s (get_local 0)))
^^^^^^^^^^^^
-out/test/spec/memory.wast:432: assert_malformed passed:
- out/test/spec/memory/memory.69.wat:1:30: error: unexpected token "i32.store32", expected an instr.
+out/test/spec/memory.wast:350: assert_malformed passed:
+ out/test/spec/memory/memory.45.wat:1:30: error: unexpected token "i32.store32", expected an instr.
(memory 1)(func (param i32) (i32.store32 (get_local 0) (i32.const 0)))
^^^^^^^^^^^
-out/test/spec/memory.wast:439: assert_malformed passed:
- out/test/spec/memory/memory.70.wat:1:30: error: unexpected token "i32.store64", expected an instr.
+out/test/spec/memory.wast:357: assert_malformed passed:
+ out/test/spec/memory/memory.46.wat:1:30: error: unexpected token "i32.store64", expected an instr.
(memory 1)(func (param i32) (i32.store64 (get_local 0) (i64.const 0)))
^^^^^^^^^^^
-out/test/spec/memory.wast:447: assert_malformed passed:
- out/test/spec/memory/memory.71.wat:1:43: error: unexpected token "i64.load64", expected an instr.
+out/test/spec/memory.wast:365: assert_malformed passed:
+ out/test/spec/memory/memory.47.wat:1:43: error: unexpected token "i64.load64", expected an instr.
(memory 1)(func (param i32) (result i64) (i64.load64 (get_local 0)))
^^^^^^^^^^
-out/test/spec/memory.wast:454: assert_malformed passed:
- out/test/spec/memory/memory.72.wat:1:43: error: unexpected token "i64.load64_u", expected an instr.
+out/test/spec/memory.wast:372: assert_malformed passed:
+ out/test/spec/memory/memory.48.wat:1:43: error: unexpected token "i64.load64_u", expected an instr.
(memory 1)(func (param i32) (result i64) (i64.load64_u (get_local 0)))
^^^^^^^^^^^^
-out/test/spec/memory.wast:461: assert_malformed passed:
- out/test/spec/memory/memory.73.wat:1:43: error: unexpected token "i64.load64_s", expected an instr.
+out/test/spec/memory.wast:379: assert_malformed passed:
+ out/test/spec/memory/memory.49.wat:1:43: error: unexpected token "i64.load64_s", expected an instr.
(memory 1)(func (param i32) (result i64) (i64.load64_s (get_local 0)))
^^^^^^^^^^^^
-out/test/spec/memory.wast:468: assert_malformed passed:
- out/test/spec/memory/memory.74.wat:1:30: error: unexpected token "i64.store64", expected an instr.
+out/test/spec/memory.wast:386: assert_malformed passed:
+ out/test/spec/memory/memory.50.wat:1:30: error: unexpected token "i64.store64", expected an instr.
(memory 1)(func (param i32) (i64.store64 (get_local 0) (i64.const 0)))
^^^^^^^^^^^
-out/test/spec/memory.wast:476: assert_malformed passed:
- out/test/spec/memory/memory.75.wat:1:43: error: unexpected token "f32.load32", expected an instr.
+out/test/spec/memory.wast:394: assert_malformed passed:
+ out/test/spec/memory/memory.51.wat:1:43: error: unexpected token "f32.load32", expected an instr.
(memory 1)(func (param i32) (result f32) (f32.load32 (get_local 0)))
^^^^^^^^^^
-out/test/spec/memory.wast:483: assert_malformed passed:
- out/test/spec/memory/memory.76.wat:1:43: error: unexpected token "f32.load64", expected an instr.
+out/test/spec/memory.wast:401: assert_malformed passed:
+ out/test/spec/memory/memory.52.wat:1:43: error: unexpected token "f32.load64", expected an instr.
(memory 1)(func (param i32) (result f32) (f32.load64 (get_local 0)))
^^^^^^^^^^
-out/test/spec/memory.wast:490: assert_malformed passed:
- out/test/spec/memory/memory.77.wat:1:30: error: unexpected token "f32.store32", expected an instr.
+out/test/spec/memory.wast:408: assert_malformed passed:
+ out/test/spec/memory/memory.53.wat:1:30: error: unexpected token "f32.store32", expected an instr.
(memory 1)(func (param i32) (f32.store32 (get_local 0) (f32.const 0)))
^^^^^^^^^^^
-out/test/spec/memory.wast:497: assert_malformed passed:
- out/test/spec/memory/memory.78.wat:1:30: error: unexpected token "f32.store64", expected an instr.
+out/test/spec/memory.wast:415: assert_malformed passed:
+ out/test/spec/memory/memory.54.wat:1:30: error: unexpected token "f32.store64", expected an instr.
(memory 1)(func (param i32) (f32.store64 (get_local 0) (f64.const 0)))
^^^^^^^^^^^
-out/test/spec/memory.wast:505: assert_malformed passed:
- out/test/spec/memory/memory.79.wat:1:43: error: unexpected token "f64.load32", expected an instr.
+out/test/spec/memory.wast:423: assert_malformed passed:
+ out/test/spec/memory/memory.55.wat:1:43: error: unexpected token "f64.load32", expected an instr.
(memory 1)(func (param i32) (result f64) (f64.load32 (get_local 0)))
^^^^^^^^^^
-out/test/spec/memory.wast:512: assert_malformed passed:
- out/test/spec/memory/memory.80.wat:1:43: error: unexpected token "f64.load64", expected an instr.
+out/test/spec/memory.wast:430: assert_malformed passed:
+ out/test/spec/memory/memory.56.wat:1:43: error: unexpected token "f64.load64", expected an instr.
(memory 1)(func (param i32) (result f64) (f64.load64 (get_local 0)))
^^^^^^^^^^
-out/test/spec/memory.wast:519: assert_malformed passed:
- out/test/spec/memory/memory.81.wat:1:30: error: unexpected token "f64.store32", expected an instr.
+out/test/spec/memory.wast:437: assert_malformed passed:
+ out/test/spec/memory/memory.57.wat:1:30: error: unexpected token "f64.store32", expected an instr.
(memory 1)(func (param i32) (f64.store32 (get_local 0) (f32.const 0)))
^^^^^^^^^^^
-out/test/spec/memory.wast:526: assert_malformed passed:
- out/test/spec/memory/memory.82.wat:1:30: error: unexpected token "f64.store64", expected an instr.
+out/test/spec/memory.wast:444: assert_malformed passed:
+ out/test/spec/memory/memory.58.wat:1:30: error: unexpected token "f64.store64", expected an instr.
(memory 1)(func (param i32) (f64.store64 (get_local 0) (f64.const 0)))
^^^^^^^^^^^
-106/106 tests passed.
+94/94 tests passed.
;;; STDOUT ;;)
diff --git a/third_party/testsuite b/third_party/testsuite
-Subproject c538faa43217146f458b9bc2d4b704d0a4d8096
+Subproject aa5be2345438d3551559226c3250de786427392