summaryrefslogtreecommitdiff
path: root/src/binaryen-c.h
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-05-06 15:31:47 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-05-06 16:51:32 -0700
commitffb9e4b9cfac5091dfe19b9b5215c43bd0f98e72 (patch)
tree6a6320d42db20730620c6212846bef53e2c22143 /src/binaryen-c.h
parente4d6be7f1a92bd8809777e59583e2d7544b065a0 (diff)
downloadbinaryen-ffb9e4b9cfac5091dfe19b9b5215c43bd0f98e72.tar.gz
binaryen-ffb9e4b9cfac5091dfe19b9b5215c43bd0f98e72.tar.bz2
binaryen-ffb9e4b9cfac5091dfe19b9b5215c43bd0f98e72.zip
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
Diffstat (limited to 'src/binaryen-c.h')
-rw-r--r--src/binaryen-c.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index 5a22169d9..583454a9f 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -199,8 +199,12 @@ BinaryenExpressionRef BinaryenLoop(BinaryenModuleRef module, const char* out, co
BinaryenExpressionRef BinaryenBreak(BinaryenModuleRef module, const char* name, BinaryenExpressionRef condition, BinaryenExpressionRef value);
// Switch: value can be NULL
BinaryenExpressionRef BinaryenSwitch(BinaryenModuleRef module, const char **names, BinaryenIndex numNames, const char* defaultName, BinaryenExpressionRef condition, BinaryenExpressionRef value);
-BinaryenExpressionRef BinaryenCall(BinaryenModuleRef module, const char *target, BinaryenExpressionRef* operands, BinaryenIndex numOperands);
-BinaryenExpressionRef BinaryenCallImport(BinaryenModuleRef module, const char *target, BinaryenExpressionRef* operands, BinaryenIndex numOperands);
+// Call, CallImport: Note the 'returnType' parameter. You must declare the
+// type returned by the function being called, as that
+// function might not have been created yet, so we don't
+// know what it is.
+BinaryenExpressionRef BinaryenCall(BinaryenModuleRef module, const char *target, BinaryenExpressionRef* operands, BinaryenIndex numOperands, BinaryenType returnType);
+BinaryenExpressionRef BinaryenCallImport(BinaryenModuleRef module, const char *target, BinaryenExpressionRef* operands, BinaryenIndex numOperands, BinaryenType returnType);
BinaryenExpressionRef BinaryenCallIndirect(BinaryenModuleRef module, BinaryenExpressionRef target, BinaryenExpressionRef* operands, BinaryenIndex numOperands, BinaryenFunctionTypeRef type);
// GetLocal: Note the 'type' parameter. It might seem redundant, since the
// local at that index must have a type. However, this API lets you