summaryrefslogtreecommitdiff
path: root/src/parser/parsers.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/parsers.h')
-rw-r--r--src/parser/parsers.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/parser/parsers.h b/src/parser/parsers.h
index 2bf9915eb..fdcfd6d0f 100644
--- a/src/parser/parsers.h
+++ b/src/parser/parsers.h
@@ -1377,7 +1377,11 @@ template<typename Ctx> Result<> makeCall(Ctx& ctx, Index pos, bool isReturn) {
template<typename Ctx>
Result<> makeCallIndirect(Ctx& ctx, Index pos, bool isReturn) {
- return ctx.in.err("unimplemented instruction");
+ auto table = maybeTableidx(ctx);
+ CHECK_ERR(table);
+ auto type = typeuse(ctx);
+ CHECK_ERR(type);
+ return ctx.makeCallIndirect(pos, table.getPtr(), *type, isReturn);
}
template<typename Ctx> Result<> makeBreak(Ctx& ctx, Index pos) {