summaryrefslogtreecommitdiff
path: root/libffi/testsuite/libffi.call/closure_fn1.c
diff options
context:
space:
mode:
Diffstat (limited to 'libffi/testsuite/libffi.call/closure_fn1.c')
-rw-r--r--libffi/testsuite/libffi.call/closure_fn1.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/libffi/testsuite/libffi.call/closure_fn1.c b/libffi/testsuite/libffi.call/closure_fn1.c
index f98a01796cd..41818ad9584 100644
--- a/libffi/testsuite/libffi.call/closure_fn1.c
+++ b/libffi/testsuite/libffi.call/closure_fn1.c
@@ -9,6 +9,7 @@
/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-* } } */
#include "ffitest.h"
+
static void closure_test_fn1(ffi_cif* cif,void* resp,void** args,
void* userdata)
{
@@ -40,11 +41,19 @@ typedef int (*closure_test_type1)(float, float, float, float, signed short,
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[17];
int res;
+#ifdef USING_MMAP
+ pcl = allocate_mmap (sizeof(ffi_closure));
+#else
+ pcl = &cl;
+#endif
+
cl_arg_types[0] = &ffi_type_float;
cl_arg_types[1] = &ffi_type_float;
cl_arg_types[2] = &ffi_type_float;