re PR fortran/77414 (ICE in create_function_arglist, at fortran/trans-decl.c:2410)
[official-gcc.git] / libffi / testsuite / libffi.go / closure1.c
blob7b34afc88c8f3ce0f7260b7f53e4083143ff2c4f
1 /* { dg-do run } */
3 #include "ffitest.h"
5 void doit(ffi_cif *cif, void *rvalue, void **avalue, void *closure)
7 (void)cif;
8 (void)avalue;
9 *(void **)rvalue = closure;
12 typedef void * (*FN)(void);
14 int main()
16 ffi_cif cif;
17 ffi_go_closure cl;
18 void *result;
20 CHECK(ffi_prep_cif(&cif, ABI_NUM, 0, &ffi_type_pointer, NULL) == FFI_OK);
21 CHECK(ffi_prep_go_closure(&cl, &cif, doit) == FFI_OK);
23 ffi_call_go(&cif, FFI_FN(*(FN *)&cl), &result, NULL, &cl);
25 CHECK(result == &cl);
27 exit(0);