diff options
Diffstat (limited to 'libffi/testsuite/libffi.call/cls_uchar.c')
-rw-r--r-- | libffi/testsuite/libffi.call/cls_uchar.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libffi/testsuite/libffi.call/cls_uchar.c b/libffi/testsuite/libffi.call/cls_uchar.c index 28fb1e3c232..6a1e63709da 100644 --- a/libffi/testsuite/libffi.call/cls_uchar.c +++ b/libffi/testsuite/libffi.call/cls_uchar.c @@ -19,10 +19,18 @@ typedef unsigned char (*cls_ret_uchar)(unsigned char); int main (void) { ffi_cif cif; +#ifndef USING_MMAP static ffi_closure cl; - ffi_closure *pcl = &cl; +#endif + ffi_closure *pcl; ffi_type * cl_arg_types[2]; + unsigned char res; +#ifdef USING_MMAP + pcl = allocate_mmap (sizeof(ffi_closure)); +#else + pcl = &cl; +#endif cl_arg_types[0] = &ffi_type_uchar; cl_arg_types[1] = NULL; @@ -33,8 +41,10 @@ int main (void) CHECK(ffi_prep_closure(pcl, &cif, cls_ret_uchar_fn, NULL) == FFI_OK); - (*((cls_ret_uchar)pcl))(127); + res = (*((cls_ret_uchar)pcl))(127); /* { dg-output "127: 127" } */ + printf("res: %d\n",res); + /* { dg-output "\nres: 127" } */ exit(0); } |