summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ir/ExpressionManipulator.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ir/ExpressionManipulator.cpp b/src/ir/ExpressionManipulator.cpp
index dcbb4a056..a3bff2d82 100644
--- a/src/ir/ExpressionManipulator.cpp
+++ b/src/ir/ExpressionManipulator.cpp
@@ -140,8 +140,12 @@ Expression* flexibleCopy(Expression* original, Module& wasm, CustomCopier custom
return builder.makeReturn(copy(curr->value));
}
Expression* visitHost(Host *curr) {
- assert(curr->operands.size() == 0);
- return builder.makeHost(curr->op, curr->nameOperand, {});
+ std::vector<Expression*> operands;
+ for (Index i = 0; i < curr->operands.size(); i++) {
+ operands.push_back(copy(curr->operands[i]));
+ }
+ auto* ret = builder.makeHost(curr->op, curr->nameOperand, std::move(operands));
+ return ret;
}
Expression* visitNop(Nop *curr) {
return builder.makeNop();