diff options
-rw-r--r-- | src/binary-reader-interp.cc | 22 | ||||
-rw-r--r-- | test/spec/binary.txt | 8 | ||||
-rw-r--r-- | test/spec/custom.txt | 19 | ||||
-rw-r--r-- | test/spec/data.txt | 59 | ||||
-rw-r--r-- | test/spec/elem.txt | 53 | ||||
-rw-r--r-- | test/spec/linking.txt | 12 | ||||
-rw-r--r-- | test/spec/memory.txt | 169 | ||||
m--------- | third_party/testsuite | 0 |
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 |