From ffb9e4b9cfac5091dfe19b9b5215c43bd0f98e72 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 6 May 2016 15:31:47 -0700 Subject: add a return type parameter to call and call_import in the C API. we need it since we don't know the type while building functions --- src/binaryen-c.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/binaryen-c.cpp') diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index d46125bb3..eca4ce5f1 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -209,21 +209,23 @@ BinaryenExpressionRef BinaryenSwitch(BinaryenModuleRef module, const char **name ret->finalize(); return ret; } -BinaryenExpressionRef BinaryenCall(BinaryenModuleRef module, const char *target, BinaryenExpressionRef* operands, BinaryenIndex numOperands) { +BinaryenExpressionRef BinaryenCall(BinaryenModuleRef module, const char *target, BinaryenExpressionRef* operands, BinaryenIndex numOperands, BinaryenType returnType) { auto* ret = ((Module*)module)->allocator.alloc(); ret->target = target; for (BinaryenIndex i = 0; i < numOperands; i++) { ret->operands.push_back((Expression*)operands[i]); } + ret->type = WasmType(returnType); ret->finalize(); return ret; } -BinaryenExpressionRef BinaryenCallImport(BinaryenModuleRef module, const char *target, BinaryenExpressionRef* operands, BinaryenIndex numOperands) { +BinaryenExpressionRef BinaryenCallImport(BinaryenModuleRef module, const char *target, BinaryenExpressionRef* operands, BinaryenIndex numOperands, BinaryenType returnType) { auto* ret = ((Module*)module)->allocator.alloc(); ret->target = target; for (BinaryenIndex i = 0; i < numOperands; i++) { ret->operands.push_back((Expression*)operands[i]); } + ret->type = WasmType(returnType); ret->finalize(); return ret; } -- cgit v1.2.3