summaryrefslogtreecommitdiff
path: root/src/passes
diff options
context:
space:
mode:
Diffstat (limited to 'src/passes')
-rw-r--r--src/passes/ConstHoisting.cpp4
-rw-r--r--src/passes/FuncCastEmulation.cpp8
-rw-r--r--src/passes/InstrumentLocals.cpp4
3 files changed, 16 insertions, 0 deletions
diff --git a/src/passes/ConstHoisting.cpp b/src/passes/ConstHoisting.cpp
index 749a3361f..37799e8b8 100644
--- a/src/passes/ConstHoisting.cpp
+++ b/src/passes/ConstHoisting.cpp
@@ -95,6 +95,10 @@ private:
// v128 not implemented yet
return false;
}
+ case except_ref: {
+ // except_ref cannot have literals
+ return false;
+ }
case none:
case unreachable: {
WASM_UNREACHABLE();
diff --git a/src/passes/FuncCastEmulation.cpp b/src/passes/FuncCastEmulation.cpp
index 904b8a202..ce5332a49 100644
--- a/src/passes/FuncCastEmulation.cpp
+++ b/src/passes/FuncCastEmulation.cpp
@@ -66,6 +66,10 @@ static Expression* toABI(Expression* value, Module* module) {
assert(false && "v128 not implemented yet");
WASM_UNREACHABLE();
}
+ case except_ref: {
+ assert(false && "except_ref cannot be converted to i64");
+ WASM_UNREACHABLE();
+ }
case none: {
// the value is none, but we need a value here
value = builder.makeSequence(value, LiteralUtils::makeZero(i64, *module));
@@ -104,6 +108,10 @@ static Expression* fromABI(Expression* value, Type type, Module* module) {
assert(false && "v128 not implemented yet");
WASM_UNREACHABLE();
}
+ case except_ref: {
+ assert(false && "except_ref cannot be converted from i64");
+ WASM_UNREACHABLE();
+ }
case none: {
value = builder.makeDrop(value);
}
diff --git a/src/passes/InstrumentLocals.cpp b/src/passes/InstrumentLocals.cpp
index 3845b0fee..45d4d484b 100644
--- a/src/passes/InstrumentLocals.cpp
+++ b/src/passes/InstrumentLocals.cpp
@@ -81,6 +81,8 @@ struct InstrumentLocals : public WalkerPass<PostWalker<InstrumentLocals>> {
break;
case v128:
assert(false && "v128 not implemented yet");
+ case except_ref:
+ assert(false && "not implemented yet");
case none:
WASM_UNREACHABLE();
case unreachable:
@@ -111,6 +113,8 @@ struct InstrumentLocals : public WalkerPass<PostWalker<InstrumentLocals>> {
break;
case v128:
assert(false && "v128 not implemented yet");
+ case except_ref:
+ assert(false && "except_ref not implemented yet");
case unreachable:
return; // nothing to do here
case none: