diff options
Diffstat (limited to 'ext/ffi_c/libffi/testsuite/libffi.call/struct6.c')
-rw-r--r-- | ext/ffi_c/libffi/testsuite/libffi.call/struct6.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c b/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c index 83db9af..173c66e 100644 --- a/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +++ b/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c @@ -12,7 +12,7 @@ typedef struct double d; } test_structure_6; -static test_structure_6 struct6 (test_structure_6 ts) +static test_structure_6 ABI_ATTR struct6 (test_structure_6 ts) { ts.f += 1; ts.d += 1; @@ -27,6 +27,13 @@ int main (void) void *values[MAX_ARGS]; ffi_type ts6_type; ffi_type *ts6_type_elements[3]; + + test_structure_6 ts6_arg; + + /* This is a hack to get a properly aligned result buffer */ + test_structure_6 *ts6_result = + (test_structure_6 *) malloc (sizeof(test_structure_6)); + ts6_type.size = 0; ts6_type.alignment = 0; ts6_type.type = FFI_TYPE_STRUCT; @@ -35,18 +42,11 @@ int main (void) ts6_type_elements[1] = &ffi_type_double; ts6_type_elements[2] = NULL; - - test_structure_6 ts6_arg; - - /* This is a hack to get a properly aligned result buffer */ - test_structure_6 *ts6_result = - (test_structure_6 *) malloc (sizeof(test_structure_6)); - args[0] = &ts6_type; values[0] = &ts6_arg; /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, &ts6_type, args) == FFI_OK); + CHECK(ffi_prep_cif(&cif, ABI_NUM, 1, &ts6_type, args) == FFI_OK); ts6_arg.f = 5.55f; ts6_arg.d = 6.66; |