diff options
Diffstat (limited to 'src/parser/wast-parser.cpp')
-rw-r--r-- | src/parser/wast-parser.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/parser/wast-parser.cpp b/src/parser/wast-parser.cpp index 137ef0df1..a3a6c14ce 100644 --- a/src/parser/wast-parser.cpp +++ b/src/parser/wast-parser.cpp @@ -207,6 +207,13 @@ Result<ExpectedResult> result(Lexer& in) { return RefResult{HeapType::func}; } + if (in.takeSExprStart("ref.i31_shared")) { + if (!in.takeRParen()) { + return in.err("expected end of ref.i31_shared"); + } + return RefResult{HeapTypes::i31.getBasic(Shared)}; + } + return in.err("unrecognized result"); } |