summaryrefslogtreecommitdiff
path: root/test/example/c-api-kitchen-sink.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/example/c-api-kitchen-sink.c')
-rw-r--r--test/example/c-api-kitchen-sink.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c
index 883d1ff75..0158bd73d 100644
--- a/test/example/c-api-kitchen-sink.c
+++ b/test/example/c-api-kitchen-sink.c
@@ -272,6 +272,14 @@ void test_core() {
BinaryenExpressionRef callOperands2[] = { makeInt32(module, 13), makeFloat64(module, 3.7) };
BinaryenExpressionRef callOperands4[] = { makeInt32(module, 13), makeInt64(module, 37), makeFloat32(module, 1.3f), makeFloat64(module, 3.7) };
BinaryenExpressionRef callOperands4b[] = { makeInt32(module, 13), makeInt64(module, 37), makeFloat32(module, 1.3f), makeFloat64(module, 3.7) };
+ BinaryenExpressionRef tupleElements4a[] = {makeInt32(module, 13),
+ makeInt64(module, 37),
+ makeFloat32(module, 1.3f),
+ makeFloat64(module, 3.7)};
+ BinaryenExpressionRef tupleElements4b[] = {makeInt32(module, 13),
+ makeInt64(module, 37),
+ makeFloat32(module, 1.3f),
+ makeFloat64(module, 3.7)};
BinaryenType iIfF_[4] = {BinaryenTypeInt32(),
BinaryenTypeInt64(),
@@ -714,6 +722,10 @@ void test_core() {
BinaryenAtomicWait(module, temp6, temp6, temp16, BinaryenTypeInt32())),
BinaryenDrop(module, BinaryenAtomicNotify(module, temp6, temp6)),
BinaryenAtomicFence(module),
+ // Tuples
+ BinaryenTupleMake(module, tupleElements4a, 4),
+ BinaryenTupleExtract(
+ module, BinaryenTupleMake(module, tupleElements4b, 4), 2),
// Push and pop
BinaryenPush(module, BinaryenPop(module, BinaryenTypeInt32())),
BinaryenPush(module, BinaryenPop(module, BinaryenTypeInt64())),
@@ -735,11 +747,17 @@ void test_core() {
BinaryenExpressionPrint(valueList[3]); // test printing a standalone expression
// Make the main body of the function. and one block with a return value, one without
- BinaryenExpressionRef value = BinaryenBlock(module, "the-value", valueList, sizeof(valueList) / sizeof(BinaryenExpressionRef), -1);
+ BinaryenExpressionRef value =
+ BinaryenBlock(module,
+ "the-value",
+ valueList,
+ sizeof(valueList) / sizeof(BinaryenExpressionRef),
+ BinaryenTypeAuto());
BinaryenExpressionRef droppedValue = BinaryenDrop(module, value);
BinaryenExpressionRef nothing = BinaryenBlock(module, "the-nothing", &droppedValue, 1, -1);
BinaryenExpressionRef bodyList[] = { nothing, makeInt32(module, 42) };
- BinaryenExpressionRef body = BinaryenBlock(module, "the-body", bodyList, 2, -1);
+ BinaryenExpressionRef body =
+ BinaryenBlock(module, "the-body", bodyList, 2, BinaryenTypeAuto());
// Create the function
BinaryenType localTypes[] = {BinaryenTypeInt32(), BinaryenTypeExnref()};