diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/example/c-api-kitchen-sink.c | 34 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.txt | 8 |
2 files changed, 42 insertions, 0 deletions
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index 251aa3b90..f333da4a2 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -270,6 +270,13 @@ void test_types() { BinaryenTypeExpand(dataref, &valueType); assert(valueType == dataref); + BinaryenType arrayref = BinaryenTypeArrayref(); + printf("BinaryenTypeArrayref: (ptr)\n"); + assert(arrayref == BinaryenTypeArrayref()); + assert(BinaryenTypeArity(arrayref) == 1); + BinaryenTypeExpand(arrayref, &valueType); + assert(valueType == arrayref); + BinaryenType stringref = BinaryenTypeStringref(); printf("BinaryenTypeStringref: (ptr)\n"); assert(BinaryenTypeArity(stringref) == 1); @@ -294,6 +301,24 @@ void test_types() { BinaryenTypeExpand(stringview_iter_, &valueType); assert(valueType == stringview_iter_); + BinaryenType nullref = BinaryenTypeNullref(); + printf("BinaryenTypeNullref: (ptr)\n"); + assert(BinaryenTypeArity(nullref) == 1); + BinaryenTypeExpand(nullref, &valueType); + assert(valueType == nullref); + + BinaryenType nullexternref = BinaryenTypeNullExternref(); + printf("BinaryenTypeNullExternref: (ptr)\n"); + assert(BinaryenTypeArity(nullexternref) == 1); + BinaryenTypeExpand(nullexternref, &valueType); + assert(valueType == nullexternref); + + BinaryenType nullfuncref = BinaryenTypeNullFuncref(); + printf("BinaryenTypeNullFuncref: (ptr)\n"); + assert(BinaryenTypeArity(nullfuncref) == 1); + BinaryenTypeExpand(nullfuncref, &valueType); + assert(valueType == nullfuncref); + printf("BinaryenTypeAuto: %zd\n", BinaryenTypeAuto()); BinaryenType pair[] = {i32, i32}; @@ -324,6 +349,7 @@ void test_types() { printf("BinaryenHeapTypeEq: %zd\n", BinaryenHeapTypeEq()); printf("BinaryenHeapTypeI31: %zd\n", BinaryenHeapTypeI31()); printf("BinaryenHeapTypeData: %zd\n", BinaryenHeapTypeData()); + printf("BinaryenHeapTypeArray: %zd\n", BinaryenHeapTypeArray()); printf("BinaryenHeapTypeString: %zd\n", BinaryenHeapTypeString()); printf("BinaryenHeapTypeStringviewWTF8: %zd\n", BinaryenHeapTypeStringviewWTF8()); @@ -331,6 +357,14 @@ void test_types() { BinaryenHeapTypeStringviewWTF16()); printf("BinaryenHeapTypeStringviewIter: %zd\n", BinaryenHeapTypeStringviewIter()); + printf("BinaryenHeapTypeNone: %zd\n", BinaryenHeapTypeNone()); + printf("BinaryenHeapTypeNoext: %zd\n", BinaryenHeapTypeNoext()); + printf("BinaryenHeapTypeNofunc: %zd\n", BinaryenHeapTypeNofunc()); + + assert(!BinaryenHeapTypeIsBottom(BinaryenHeapTypeExt())); + assert(BinaryenHeapTypeIsBottom(BinaryenHeapTypeNoext())); + assert(BinaryenHeapTypeGetBottom(BinaryenHeapTypeExt()) == + BinaryenHeapTypeNoext()); BinaryenHeapType eq = BinaryenTypeGetHeapType(eqref); assert(eq == BinaryenHeapTypeEq()); diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt index 983c80d90..0d7ef581b 100644 --- a/test/example/c-api-kitchen-sink.txt +++ b/test/example/c-api-kitchen-sink.txt @@ -11,10 +11,14 @@ BinaryenTypeAnyref: (ptr) BinaryenTypeEqref: (ptr) BinaryenTypeI31ref: (ptr) BinaryenTypeDataref: (ptr) +BinaryenTypeArrayref: (ptr) BinaryenTypeStringref: (ptr) BinaryenTypeStringviewWTF8: (ptr) BinaryenTypeStringviewWTF16: (ptr) BinaryenTypeStringviewIter: (ptr) +BinaryenTypeNullref: (ptr) +BinaryenTypeNullExternref: (ptr) +BinaryenTypeNullFuncref: (ptr) BinaryenTypeAuto: -1 BinaryenPackedTypeNotPacked: 0 BinaryenPackedTypeInt8: 1 @@ -25,10 +29,14 @@ BinaryenHeapTypeAny: 2 BinaryenHeapTypeEq: 3 BinaryenHeapTypeI31: 4 BinaryenHeapTypeData: 5 +BinaryenHeapTypeArray: 6 BinaryenHeapTypeString: 7 BinaryenHeapTypeStringviewWTF8: 8 BinaryenHeapTypeStringviewWTF16: 9 BinaryenHeapTypeStringviewIter: 10 +BinaryenHeapTypeNone: 11 +BinaryenHeapTypeNoext: 12 +BinaryenHeapTypeNofunc: 13 BinaryenFeatureMVP: 0 BinaryenFeatureAtomics: 1 BinaryenFeatureBulkMemory: 16 |