Author: paullanders Date: Wed Oct 12 18:22:07 2016 New Revision: 40143 URL: http://svn.gna.org/viewcvs/gnustep?rev=40143&view=rev Log: fix ffi test for 64bit windows
Modified: libs/base/branches/gnustep_testplant_branch/config/config.ffi.c Modified: libs/base/branches/gnustep_testplant_branch/config/config.ffi.c URL: http://svn.gna.org/viewcvs/gnustep/libs/base/branches/gnustep_testplant_branch/config/config.ffi.c?rev=40143&r1=40142&r2=40143&view=diff ============================================================================== --- libs/base/branches/gnustep_testplant_branch/config/config.ffi.c (original) +++ libs/base/branches/gnustep_testplant_branch/config/config.ffi.c Wed Oct 12 18:22:07 2016 @@ -8,6 +8,7 @@ float b; float c; float d; + float e; // Testplant: Work around 64bit libffi bug passing 16byte structs by value } cls_struct_combined; void cls_struct_combined_fn(struct cls_struct_combined arg) @@ -37,10 +38,10 @@ ffi_cif cif; void *code; ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code); - ffi_type* cls_struct_fields0[5]; + ffi_type* cls_struct_fields0[6]; ffi_type cls_struct_type0; - ffi_type* dbl_arg_types[5]; - struct cls_struct_combined g_dbl = {4.0, 5.0, 1.0, 8.0}; + ffi_type* dbl_arg_types[6]; + struct cls_struct_combined g_dbl = {4.0, 5.0, 1.0, 8.0, 6.0}; cls_struct_type0.size = 0; cls_struct_type0.alignment = 0; @@ -51,10 +52,13 @@ cls_struct_fields0[1] = &ffi_type_float; cls_struct_fields0[2] = &ffi_type_float; cls_struct_fields0[3] = &ffi_type_float; - cls_struct_fields0[4] = NULL; + cls_struct_fields0[4] = &ffi_type_float; + cls_struct_fields0[5] = NULL; dbl_arg_types[0] = &cls_struct_type0; dbl_arg_types[1] = NULL; + +cls_struct_combined_fn(g_dbl); if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, &ffi_type_void, dbl_arg_types) != FFI_OK) abort(); _______________________________________________ Gnustep-cvs mailing list Gnustep-cvs@gna.org https://mail.gna.org/listinfo/gnustep-cvs