diff options
Diffstat (limited to 'src/ir/ExpressionManipulator.cpp')
-rw-r--r-- | src/ir/ExpressionManipulator.cpp | 10 |
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); |