2 Purpose: Check if unsigned long as return type is handled correctly.
5 Originator: <kaffeetisch at gmx dot de> 20060724 */
9 static unsigned long return_ul(unsigned long ul1
, unsigned long ul2
)
17 ffi_type
*args
[MAX_ARGS
];
18 void *values
[MAX_ARGS
];
20 unsigned long ul1
, ul2
;
22 args
[0] = &ffi_type_ulong
;
23 args
[1] = &ffi_type_ulong
;
27 CHECK(ffi_prep_cif(&cif
, FFI_DEFAULT_ABI
, 2,
28 &ffi_type_ulong
, args
) == FFI_OK
);
33 ffi_call(&cif
, FFI_FN(return_ul
), &res
, values
);
34 printf("res: %lu, %lu\n", (unsigned long)res
, ul1
+ ul2
);
35 /* { dg-output "res: 2147483647, 2147483647" } */