diff options
Diffstat (limited to 'src/wasm/wasm-s-parser.cpp')
-rw-r--r-- | src/wasm/wasm-s-parser.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 55551ef58..86d7b27e9 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1169,8 +1169,10 @@ Type SExpressionWasmBuilder::stringToType(const char* str, if (strncmp(str, "funcref", 7) == 0 && (prefix || str[7] == 0)) { return Type(HeapType::func, Nullable); } - if ((strncmp(str, "externref", 9) == 0 && (prefix || str[9] == 0)) || - (strncmp(str, "anyref", 6) == 0 && (prefix || str[6] == 0))) { + if (strncmp(str, "externref", 9) == 0 && (prefix || str[9] == 0)) { + return Type(HeapType::ext, Nullable); + } + if (strncmp(str, "anyref", 6) == 0 && (prefix || str[6] == 0)) { return Type(HeapType::any, Nullable); } if (strncmp(str, "eqref", 5) == 0 && (prefix || str[5] == 0)) { @@ -1214,7 +1216,7 @@ HeapType SExpressionWasmBuilder::stringToHeapType(const char* str, } if (str[1] == 'x' && str[2] == 't' && str[3] == 'e' && str[4] == 'r' && str[5] == 'n' && (prefix || str[6] == 0)) { - return HeapType::any; + return HeapType::ext; } } if (str[0] == 'a') { |