summaryrefslogtreecommitdiff
path: root/src/ir/ExpressionManipulator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir/ExpressionManipulator.cpp')
-rw-r--r--src/ir/ExpressionManipulator.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/ir/ExpressionManipulator.cpp b/src/ir/ExpressionManipulator.cpp
index 2542e5743..fd0e6fd75 100644
--- a/src/ir/ExpressionManipulator.cpp
+++ b/src/ir/ExpressionManipulator.cpp
@@ -79,12 +79,12 @@ flexibleCopy(Expression* original, Module& wasm, CustomCopier custom) {
return ret;
}
Expression* visitCallIndirect(CallIndirect* curr) {
- auto* ret = builder.makeCallIndirect(
- curr->fullType, copy(curr->target), {}, curr->type, curr->isReturn);
- for (Index i = 0; i < curr->operands.size(); i++) {
- ret->operands.push_back(copy(curr->operands[i]));
+ std::vector<Expression*> copiedOps;
+ for (auto op : curr->operands) {
+ copiedOps.push_back(copy(op));
}
- return ret;
+ return builder.makeCallIndirect(
+ copy(curr->target), copiedOps, curr->sig, curr->isReturn);
}
Expression* visitLocalGet(LocalGet* curr) {
return builder.makeLocalGet(curr->index, curr->type);