diff options
-rw-r--r-- | src/ir/ExpressionManipulator.cpp | 8 |
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(); |