summaryrefslogtreecommitdiff
path: root/src/ir.h
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2020-01-09 11:36:21 -0800
committerGitHub <noreply@github.com>2020-01-09 11:36:21 -0800
commit415c3bb1b70c5edc9beb3a7e2cea5d9247e1e52c (patch)
tree5cf869855722fce5f88e11c0968007d8f37109f8 /src/ir.h
parent7de6d8eedd550a9001a2db9d9e04b7ad941c9be7 (diff)
downloadwabt-415c3bb1b70c5edc9beb3a7e2cea5d9247e1e52c.tar.gz
wabt-415c3bb1b70c5edc9beb3a7e2cea5d9247e1e52c.tar.bz2
wabt-415c3bb1b70c5edc9beb3a7e2cea5d9247e1e52c.zip
Update testsuite (#1275)
The two primary changes involved are: 1. Removal of `assert_return_canonical_nan`/`arithetic nan` in favor of special `nan:canonical`/`nan:arithmetic` constants that can only be used in test expectations. See: https://github.com/WebAssembly/spec/pull/1104 2. New trapping behaviour for bulk memory operations. Range checks are now performed up front for opterations such as memory.fill and memory.copy. See: https://github.com/webassembly/bulk-memory-operations/issues/111 And: https://github.com/webassembly/bulk-memory-operations/pull/123 The old behaviour is still kept around to support table.fill which is defined in reference-types proposal and has yet to be updated.
Diffstat (limited to 'src/ir.h')
-rw-r--r--src/ir.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/ir.h b/src/ir.h
index 80454600..5203c1c7 100644
--- a/src/ir.h
+++ b/src/ir.h
@@ -98,6 +98,8 @@ struct Const {
Location loc;
Type type;
+
+ bool is_expected_nan = false;
union {
uint32_t u32;
uint64_t u64;
@@ -105,6 +107,7 @@ struct Const {
uint64_t f64_bits;
uintptr_t ref_bits;
v128 vec128;
+ ExpectedNan expected;
};
private:
@@ -1047,8 +1050,6 @@ enum class CommandType {
AssertUninstantiable,
AssertReturn,
AssertReturnFunc,
- AssertReturnCanonicalNan,
- AssertReturnArithmeticNan,
AssertTrap,
AssertExhaustion,
@@ -1088,10 +1089,6 @@ class ActionCommandBase : public CommandMixin<TypeEnum> {
};
typedef ActionCommandBase<CommandType::Action> ActionCommand;
-typedef ActionCommandBase<CommandType::AssertReturnCanonicalNan>
- AssertReturnCanonicalNanCommand;
-typedef ActionCommandBase<CommandType::AssertReturnArithmeticNan>
- AssertReturnArithmeticNanCommand;
class RegisterCommand : public CommandMixin<CommandType::Register> {
public: