diff options
Diffstat (limited to 'test/example/c-api-kitchen-sink.c')
-rw-r--r-- | test/example/c-api-kitchen-sink.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index 1761ab0bb..1359385eb 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -160,6 +160,16 @@ void test_types() { printf("BinaryenTypeAuto: %d\n", BinaryenTypeAuto()); } +void test_features() { + printf("BinaryenFeatureAtomics: %d\n", BinaryenFeatureAtomics()); + printf("BinaryenFeatureBulkMemory: %d\n", BinaryenFeatureBulkMemory()); + printf("BinaryenFeatureMutableGlobals: %d\n", BinaryenFeatureMutableGlobals()); + printf("BinaryenFeatureNontrappingFPToInt: %d\n", BinaryenFeatureNontrappingFPToInt()); + printf("BinaryenFeatureSignExt: %d\n", BinaryenFeatureSignExt()); + printf("BinaryenFeatureSIMD128: %d\n", BinaryenFeatureSIMD128()); + printf("BinaryenFeatureExceptionHandling: %d\n", BinaryenFeatureExceptionHandling()); +} + void test_core() { // Module creation @@ -511,6 +521,16 @@ void test_core() { // A bunch of our code needs drop(), auto-add it BinaryenModuleAutoDrop(module); + BinaryenFeatures features = + BinaryenFeatureAtomics() | + BinaryenFeatureBulkMemory() | + BinaryenFeatureNontrappingFPToInt() | + BinaryenFeatureSignExt() | + BinaryenFeatureSIMD128(); + + BinaryenSetFeatures(module, features); + assert(BinaryenGetFeatures(module) == features); + // Verify it validates assert(BinaryenModuleValidate(module)); @@ -830,6 +850,7 @@ void test_color_status() { int main() { test_types(); + test_features(); test_core(); test_unreachable(); test_relooper(); |