@@ -39,9 +39,11 @@ wasm_func_t* get_export_func(const wasm_extern_vec_t* exports, size_t i) {
3939
4040#define check_call (func , type , expected ) \
4141 { \
42- wasm_val_t results[1]; \
43- wasm_func_call(func, NULL, results); \
44- check(results[0], type, expected); \
42+ wasm_val_t vs[1]; \
43+ wasm_val_vec_t args = WASM_EMPTY_VEC; \
44+ wasm_val_vec_t results = WASM_ARRAY_VEC(vs); \
45+ wasm_func_call(func, &args, &results); \
46+ check(vs[0], type, expected); \
4547 }
4648
4749
@@ -90,16 +92,16 @@ int main(int argc, const char* argv[]) {
9092 own wasm_globaltype_t * var_i64_type = wasm_globaltype_new (
9193 wasm_valtype_new (WASM_I64 ), WASM_VAR );
9294
93- wasm_val_t val_f32_1 = {. kind = WASM_F32 , . of = {. f32 = 1 }} ;
95+ wasm_val_t val_f32_1 = WASM_F32_VAL ( 1 ) ;
9496 own wasm_global_t * const_f32_import =
9597 wasm_global_new (store , const_f32_type , & val_f32_1 );
96- wasm_val_t val_i64_2 = {. kind = WASM_I64 , . of = {. i64 = 2 }} ;
98+ wasm_val_t val_i64_2 = WASM_I64_VAL ( 2 ) ;
9799 own wasm_global_t * const_i64_import =
98100 wasm_global_new (store , const_i64_type , & val_i64_2 );
99- wasm_val_t val_f32_3 = {. kind = WASM_F32 , . of = {. f32 = 3 }} ;
101+ wasm_val_t val_f32_3 = WASM_F32_VAL ( 3 ) ;
100102 own wasm_global_t * var_f32_import =
101103 wasm_global_new (store , var_f32_type , & val_f32_3 );
102- wasm_val_t val_i64_4 = {. kind = WASM_I64 , . of = {. i64 = 4 }} ;
104+ wasm_val_t val_i64_4 = WASM_I64_VAL ( 4 ) ;
103105 own wasm_global_t * var_i64_import =
104106 wasm_global_new (store , var_i64_type , & val_i64_4 );
105107
@@ -110,14 +112,15 @@ int main(int argc, const char* argv[]) {
110112
111113 // Instantiate.
112114 printf ("Instantiating module...\n" );
113- const wasm_extern_t * imports [] = {
115+ wasm_extern_t * externs [] = {
114116 wasm_global_as_extern (const_f32_import ),
115117 wasm_global_as_extern (const_i64_import ),
116118 wasm_global_as_extern (var_f32_import ),
117119 wasm_global_as_extern (var_i64_import )
118120 };
121+ wasm_extern_vec_t imports = WASM_ARRAY_VEC (externs );
119122 own wasm_instance_t * instance =
120- wasm_instance_new (store , module , imports , NULL );
123+ wasm_instance_new (store , module , & imports , NULL );
121124 if (!instance ) {
122125 printf ("> Error instantiating module!\n" );
123126 return 1 ;
@@ -175,13 +178,13 @@ int main(int argc, const char* argv[]) {
175178 check_call (get_var_i64_export , i64 , 8 );
176179
177180 // Modify variables through API and check again.
178- wasm_val_t val33 = {. kind = WASM_F32 , . of = {. f32 = 33 }} ;
181+ wasm_val_t val33 = WASM_F32_VAL ( 33 ) ;
179182 wasm_global_set (var_f32_import , & val33 );
180- wasm_val_t val34 = {. kind = WASM_I64 , . of = {. i64 = 34 }} ;
183+ wasm_val_t val34 = WASM_I64_VAL ( 34 ) ;
181184 wasm_global_set (var_i64_import , & val34 );
182- wasm_val_t val37 = {. kind = WASM_F32 , . of = {. f32 = 37 }} ;
185+ wasm_val_t val37 = WASM_F32_VAL ( 37 ) ;
183186 wasm_global_set (var_f32_export , & val37 );
184- wasm_val_t val38 = {. kind = WASM_I64 , . of = {. i64 = 38 }} ;
187+ wasm_val_t val38 = WASM_I64_VAL ( 38 ) ;
185188 wasm_global_set (var_i64_export , & val38 );
186189
187190 check_global (var_f32_import , f32 , 33 );
@@ -195,14 +198,19 @@ int main(int argc, const char* argv[]) {
195198 check_call (get_var_i64_export , i64 , 38 );
196199
197200 // Modify variables through calls and check again.
198- wasm_val_t args73 [] = { {.kind = WASM_F32 , .of = {.f32 = 73 }} };
199- wasm_func_call (set_var_f32_import , args73 , NULL );
200- wasm_val_t args74 [] = { {.kind = WASM_I64 , .of = {.i64 = 74 }} };
201- wasm_func_call (set_var_i64_import , args74 , NULL );
202- wasm_val_t args77 [] = { {.kind = WASM_F32 , .of = {.f32 = 77 }} };
203- wasm_func_call (set_var_f32_export , args77 , NULL );
204- wasm_val_t args78 [] = { {.kind = WASM_I64 , .of = {.i64 = 78 }} };
205- wasm_func_call (set_var_i64_export , args78 , NULL );
201+ wasm_val_vec_t res = WASM_EMPTY_VEC ;
202+ wasm_val_t vs73 [] = { WASM_F32_VAL (73 ) };
203+ wasm_val_vec_t args73 = WASM_ARRAY_VEC (vs73 );
204+ wasm_func_call (set_var_f32_import , & args73 , & res );
205+ wasm_val_t vs74 [] = { WASM_I64_VAL (74 ) };
206+ wasm_val_vec_t args74 = WASM_ARRAY_VEC (vs74 );
207+ wasm_func_call (set_var_i64_import , & args74 , & res );
208+ wasm_val_t vs77 [] = { WASM_F32_VAL (77 ) };
209+ wasm_val_vec_t args77 = WASM_ARRAY_VEC (vs77 );
210+ wasm_func_call (set_var_f32_export , & args77 , & res );
211+ wasm_val_t vs78 [] = { WASM_I64_VAL (78 ) };
212+ wasm_val_vec_t args78 = WASM_ARRAY_VEC (vs78 );
213+ wasm_func_call (set_var_i64_export , & args78 , & res );
206214
207215 check_global (var_f32_import , f32 , 73 );
208216 check_global (var_i64_import , i64 , 74 );
0 commit comments