summaryrefslogtreecommitdiff
path: root/src/ast-parser.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast-parser.y')
-rw-r--r--src/ast-parser.y23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/ast-parser.y b/src/ast-parser.y
index 7977586a..5f0498dd 100644
--- a/src/ast-parser.y
+++ b/src/ast-parser.y
@@ -197,7 +197,8 @@ static bool on_read_binary_error(uint32_t offset, const char* error,
%token MODULE TABLE ELEM MEMORY DATA OFFSET IMPORT EXPORT
%token REGISTER INVOKE GET
%token ASSERT_MALFORMED ASSERT_INVALID ASSERT_UNLINKABLE
-%token ASSERT_RETURN ASSERT_RETURN_NAN ASSERT_TRAP ASSERT_EXHAUSTION
+%token ASSERT_RETURN ASSERT_RETURN_CANONICAL_NAN ASSERT_RETURN_ARITHMETIC_NAN
+%token ASSERT_TRAP ASSERT_EXHAUSTION
%token INPUT OUTPUT
%token EOF 0 "EOF"
@@ -1360,10 +1361,15 @@ assertion :
$$->assert_return.action = $3;
$$->assert_return.expected = $4;
}
- | LPAR ASSERT_RETURN_NAN action RPAR {
+ | LPAR ASSERT_RETURN_CANONICAL_NAN action RPAR {
$$ = new Command();
- $$->type = CommandType::AssertReturnNan;
- $$->assert_return_nan.action = $3;
+ $$->type = CommandType::AssertReturnCanonicalNan;
+ $$->assert_return_canonical_nan.action = $3;
+ }
+ | LPAR ASSERT_RETURN_ARITHMETIC_NAN action RPAR {
+ $$ = new Command();
+ $$->type = CommandType::AssertReturnArithmeticNan;
+ $$->assert_return_arithmetic_nan.action = $3;
}
| LPAR ASSERT_TRAP action quoted_text RPAR {
$$ = new Command();
@@ -1454,8 +1460,13 @@ script :
case CommandType::AssertReturn:
module_var = &command.assert_return.action->module_var;
goto has_module_var;
- case CommandType::AssertReturnNan:
- module_var = &command.assert_return_nan.action->module_var;
+ case CommandType::AssertReturnCanonicalNan:
+ module_var =
+ &command.assert_return_canonical_nan.action->module_var;
+ goto has_module_var;
+ case CommandType::AssertReturnArithmeticNan:
+ module_var =
+ &command.assert_return_arithmetic_nan.action->module_var;
goto has_module_var;
case CommandType::AssertTrap:
case CommandType::AssertExhaustion: