Re-enable msabi testing (#436)
* Revert "disable msabi testing for now"
This reverts commit 7b7638eb0eac2adfa72f7ec9f254ba287c9947e2.
* x86: Correct testing for 64-bit x86-64
Since passing -m32 to x86-64 compiler will generate i386 code, we
need to check both __ILP32__ and __i386__ for 64-bit x86-64.
* x86: Check __i386__ instead of i?86-*-* targets
Since passing -m32 to x86-64 compiler will generate i386 code, we need
to check __i386__ instead of i?86-*-* targets for i386 targets.
* i386: Properly passing integer parameters in registers
For thiscall and fastcall, if the paramter passed as 64-bit integer or
struct, all following integer paramters will be passed on stack.
* test: Add ABI_ATTR to callback_code
Add ABI_ATTR to callback_code to properly test different ABIs.
diff --git a/src/x86/ffi.c b/src/x86/ffi.c
index 897498f..021f683 100644
--- a/src/x86/ffi.c
+++ b/src/x86/ffi.c
@@ -345,6 +345,15 @@
size_t za = FFI_ALIGN (z, FFI_SIZEOF_ARG);
size_t align = FFI_SIZEOF_ARG;
+ /* Issue 434: For thiscall and fastcall, if the paramter passed
+ as 64-bit integer or struct, all following integer paramters
+ will be passed on stack. */
+ if ((cabi == FFI_THISCALL || cabi == FFI_FASTCALL)
+ && (t == FFI_TYPE_SINT64
+ || t == FFI_TYPE_UINT64
+ || t == FFI_TYPE_STRUCT))
+ narg_reg = 2;
+
/* Alignment rules for arguments are quite complex. Vectors and
structures with 16 byte alignment get it. Note that long double
on Darwin does have 16 byte alignment, and does not get this
@@ -475,6 +484,15 @@
if (t == FFI_TYPE_STRUCT && ty->alignment >= 16)
align = 16;
+ /* Issue 434: For thiscall and fastcall, if the paramter passed
+ as 64-bit integer or struct, all following integer paramters
+ will be passed on stack. */
+ if ((cabi == FFI_THISCALL || cabi == FFI_FASTCALL)
+ && (t == FFI_TYPE_SINT64
+ || t == FFI_TYPE_UINT64
+ || t == FFI_TYPE_STRUCT))
+ narg_reg = 2;
+
if (dir < 0)
{
/* ??? These reverse argument ABIs are probably too old
diff --git a/testsuite/lib/libffi.exp b/testsuite/lib/libffi.exp
index d5880ed..76ef29c 100644
--- a/testsuite/lib/libffi.exp
+++ b/testsuite/lib/libffi.exp
@@ -317,22 +317,23 @@
set targetabis { "" }
if [string match $compiler_vendor "gnu"] {
- if [istarget "i?86-*-*"] {
+ if [libffi_feature_test "#ifdef __i386__"] {
set targetabis {
""
"-DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__"
"-DABI_NUM=FFI_THISCALL -DABI_ATTR=__THISCALL__"
"-DABI_NUM=FFI_FASTCALL -DABI_ATTR=__FASTCALL__"
}
+ } elseif { [istarget "x86_64-*-*"] \
+ && [libffi_feature_test "#if !defined __ILP32__ \
+ && !defined __i386__"] } {
+ set targetabis {
+ ""
+ "-DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__"
+ }
}
- # elseif { [istarget "x86_64-*-*"] \
- # && [libffi_feature_test "#ifndef __ILP32__"] } {
- # set targetabis {
- # ""
- # "-DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__"
- # }
- # }
}
+
set common [ concat $common $extra_flags ]
foreach test $testcases {
set testname [file tail $test]
diff --git a/testsuite/libffi.bhaible/test-callback.c b/testsuite/libffi.bhaible/test-callback.c
index 7ddee68..c2633c7 100644
--- a/testsuite/libffi.bhaible/test-callback.c
+++ b/testsuite/libffi.bhaible/test-callback.c
@@ -1276,7 +1276,7 @@
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_void);
PREP_CALLBACK(cif,v_v_simulator,(void*)&v_v);
- ((void (*) (void)) callback_code) ();
+ ((void (ABI_ATTR *) (void)) callback_code) ();
}
FREE_CALLBACK();
#endif
@@ -1294,7 +1294,7 @@
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_sint);
PREP_CALLBACK(cif,i_v_simulator,(void*)&i_v);
- ir = ((int (*) (void)) callback_code) ();
+ ir = ((int (ABI_ATTR *) (void)) callback_code) ();
}
FREE_CALLBACK();
fprintf(out,"->%d\n",ir);
@@ -1312,7 +1312,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_sint);
PREP_CALLBACK(cif,i_i_simulator,(void*)&i_i);
- ir = ((int (*) (int)) callback_code) (i1);
+ ir = ((int (ABI_ATTR *) (int)) callback_code) (i1);
}
FREE_CALLBACK();
fprintf(out,"->%d\n",ir);
@@ -1330,7 +1330,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_sint);
PREP_CALLBACK(cif,i_i2_simulator,(void*)&i_i2);
- ir = ((int (*) (int,int)) callback_code) (i1,i2);
+ ir = ((int (ABI_ATTR *) (int,int)) callback_code) (i1,i2);
}
FREE_CALLBACK();
fprintf(out,"->%d\n",ir);
@@ -1348,7 +1348,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_sint);
PREP_CALLBACK(cif,i_i4_simulator,(void*)&i_i4);
- ir = ((int (*) (int,int,int,int)) callback_code) (i1,i2,i3,i4);
+ ir = ((int (ABI_ATTR *) (int,int,int,int)) callback_code) (i1,i2,i3,i4);
}
FREE_CALLBACK();
fprintf(out,"->%d\n",ir);
@@ -1366,7 +1366,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_sint);
PREP_CALLBACK(cif,i_i8_simulator,(void*)&i_i8);
- ir = ((int (*) (int,int,int,int,int,int,int,int)) callback_code) (i1,i2,i3,i4,i5,i6,i7,i8);
+ ir = ((int (ABI_ATTR *) (int,int,int,int,int,int,int,int)) callback_code) (i1,i2,i3,i4,i5,i6,i7,i8);
}
FREE_CALLBACK();
fprintf(out,"->%d\n",ir);
@@ -1384,7 +1384,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_sint);
PREP_CALLBACK(cif,i_i16_simulator,(void*)&i_i16);
- ir = ((int (*) (int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)) callback_code) (i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15,i16);
+ ir = ((int (ABI_ATTR *) (int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)) callback_code) (i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15,i16);
}
FREE_CALLBACK();
fprintf(out,"->%d\n",ir);
@@ -1406,7 +1406,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f_simulator,(void*)&f_f);
- fr = ((float (*) (float)) callback_code) (f1);
+ fr = ((float (ABI_ATTR *) (float)) callback_code) (f1);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1424,7 +1424,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f2_simulator,(void*)&f_f2);
- fr = ((float (*) (float,float)) callback_code) (f1,f2);
+ fr = ((float (ABI_ATTR *) (float,float)) callback_code) (f1,f2);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1442,7 +1442,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f4_simulator,(void*)&f_f4);
- fr = ((float (*) (float,float,float,float)) callback_code) (f1,f2,f3,f4);
+ fr = ((float (ABI_ATTR *) (float,float,float,float)) callback_code) (f1,f2,f3,f4);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1460,7 +1460,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f8_simulator,(void*)&f_f8);
- fr = ((float (*) (float,float,float,float,float,float,float,float)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8);
+ fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1478,7 +1478,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f16_simulator,(void*)&f_f16);
- fr = ((float (*) (float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16);
+ fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1496,7 +1496,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f24_simulator,(void*)&f_f24);
- fr = ((float (*) (float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24);
+ fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1519,7 +1519,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d_simulator,(void*)&d_d);
- dr = ((double (*) (double)) callback_code) (d1);
+ dr = ((double (ABI_ATTR *) (double)) callback_code) (d1);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1537,7 +1537,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d2_simulator,(void*)&d_d2);
- dr = ((double (*) (double,double)) callback_code) (d1,d2);
+ dr = ((double (ABI_ATTR *) (double,double)) callback_code) (d1,d2);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1555,7 +1555,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d4_simulator,(void*)&d_d4);
- dr = ((double (*) (double,double,double,double)) callback_code) (d1,d2,d3,d4);
+ dr = ((double (ABI_ATTR *) (double,double,double,double)) callback_code) (d1,d2,d3,d4);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1573,7 +1573,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d8_simulator,(void*)&d_d8);
- dr = ((double (*) (double,double,double,double,double,double,double,double)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8);
+ dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1591,7 +1591,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d16_simulator,(void*)&d_d16);
- dr = ((double (*) (double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16);
+ dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1613,7 +1613,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_pointer);
PREP_CALLBACK(cif,vp_vpdpcpsp_simulator,(void*)&vp_vpdpcpsp);
- vpr = ((void* (*) (void*,double*,char*,Int*)) callback_code) (&uc1,&d2,str3,&I4);
+ vpr = ((void* (ABI_ATTR *) (void*,double*,char*,Int*)) callback_code) (&uc1,&d2,str3,&I4);
}
FREE_CALLBACK();
fprintf(out,"->0x%p\n",vpr);
@@ -1639,7 +1639,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_uchar);
PREP_CALLBACK(cif,uc_ucsil_simulator,(void*)&uc_ucsil);
- ucr = ((uchar (*) (uchar,ushort,uint,ulong)) callback_code) (uc1,us2,ui3,ul4);
+ ucr = ((uchar (ABI_ATTR *) (uchar,ushort,uint,ulong)) callback_code) (uc1,us2,ui3,ul4);
}
FREE_CALLBACK();
fprintf(out,"->%u\n",ucr);
@@ -1657,7 +1657,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_iidd_simulator,(void*)&d_iidd);
- dr = ((double (*) (int,int,double,double)) callback_code) (i1,i2,d3,d4);
+ dr = ((double (ABI_ATTR *) (int,int,double,double)) callback_code) (i1,i2,d3,d4);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1675,7 +1675,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_iiidi_simulator,(void*)&d_iiidi);
- dr = ((double (*) (int,int,int,double,int)) callback_code) (i1,i2,i3,d4,i5);
+ dr = ((double (ABI_ATTR *) (int,int,int,double,int)) callback_code) (i1,i2,i3,d4,i5);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1693,7 +1693,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_idid_simulator,(void*)&d_idid);
- dr = ((double (*) (int,double,int,double)) callback_code) (i1,d2,i3,d4);
+ dr = ((double (ABI_ATTR *) (int,double,int,double)) callback_code) (i1,d2,i3,d4);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1711,7 +1711,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_fdi_simulator,(void*)&d_fdi);
- dr = ((double (*) (float,double,int)) callback_code) (f1,d2,i3);
+ dr = ((double (ABI_ATTR *) (float,double,int)) callback_code) (f1,d2,i3);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1729,7 +1729,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_ushort);
PREP_CALLBACK(cif,us_cdcd_simulator,(void*)&us_cdcd);
- usr = ((ushort (*) (char,double,char,double)) callback_code) (c1,d2,c3,d4);
+ usr = ((ushort (ABI_ATTR *) (char,double,char,double)) callback_code) (c1,d2,c3,d4);
}
FREE_CALLBACK();
fprintf(out,"->%u\n",usr);
@@ -1747,7 +1747,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong);
PREP_CALLBACK(cif,ll_iiilli_simulator,(void*)&ll_iiilli);
- llr = ((long long (*) (int,int,int,long long,int)) callback_code) (i1,i2,i3,ll1,i13);
+ llr = ((long long (ABI_ATTR *) (int,int,int,long long,int)) callback_code) (i1,i2,i3,ll1,i13);
}
FREE_CALLBACK();
fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff));
@@ -1765,7 +1765,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong);
PREP_CALLBACK(cif,ll_flli_simulator,(void*)&ll_flli);
- llr = ((long long (*) (float,long long,int)) callback_code) (f13,ll1,i13);
+ llr = ((long long (ABI_ATTR *) (float,long long,int)) callback_code) (f13,ll1,i13);
}
FREE_CALLBACK();
fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff));
@@ -1783,7 +1783,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_fi_simulator,(void*)&f_fi);
- fr = ((float (*) (float,int)) callback_code) (f1,i9);
+ fr = ((float (ABI_ATTR *) (float,int)) callback_code) (f1,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1801,7 +1801,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f2i_simulator,(void*)&f_f2i);
- fr = ((float (*) (float,float,int)) callback_code) (f1,f2,i9);
+ fr = ((float (ABI_ATTR *) (float,float,int)) callback_code) (f1,f2,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1819,7 +1819,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f3i_simulator,(void*)&f_f3i);
- fr = ((float (*) (float,float,float,int)) callback_code) (f1,f2,f3,i9);
+ fr = ((float (ABI_ATTR *) (float,float,float,int)) callback_code) (f1,f2,f3,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1837,7 +1837,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f4i_simulator,(void*)&f_f4i);
- fr = ((float (*) (float,float,float,float,int)) callback_code) (f1,f2,f3,f4,i9);
+ fr = ((float (ABI_ATTR *) (float,float,float,float,int)) callback_code) (f1,f2,f3,f4,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1855,7 +1855,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f7i_simulator,(void*)&f_f7i);
- fr = ((float (*) (float,float,float,float,float,float,float,int)) callback_code) (f1,f2,f3,f4,f5,f6,f7,i9);
+ fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,int)) callback_code) (f1,f2,f3,f4,f5,f6,f7,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1873,7 +1873,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f8i_simulator,(void*)&f_f8i);
- fr = ((float (*) (float,float,float,float,float,float,float,float,int)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,i9);
+ fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float,int)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1891,7 +1891,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f13i_simulator,(void*)&f_f13i);
- fr = ((float (*) (float,float,float,float,float,float,float,float,float,float,float,float,float,int)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,i9);
+ fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float,float,float,float,float,float,int)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -1909,7 +1909,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_di_simulator,(void*)&d_di);
- dr = ((double (*) (double,int)) callback_code) (d1,i9);
+ dr = ((double (ABI_ATTR *) (double,int)) callback_code) (d1,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1927,7 +1927,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d2i_simulator,(void*)&d_d2i);
- dr = ((double (*) (double,double,int)) callback_code) (d1,d2,i9);
+ dr = ((double (ABI_ATTR *) (double,double,int)) callback_code) (d1,d2,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1945,7 +1945,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d3i_simulator,(void*)&d_d3i);
- dr = ((double (*) (double,double,double,int)) callback_code) (d1,d2,d3,i9);
+ dr = ((double (ABI_ATTR *) (double,double,double,int)) callback_code) (d1,d2,d3,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1963,7 +1963,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d4i_simulator,(void*)&d_d4i);
- dr = ((double (*) (double,double,double,double,int)) callback_code) (d1,d2,d3,d4,i9);
+ dr = ((double (ABI_ATTR *) (double,double,double,double,int)) callback_code) (d1,d2,d3,d4,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1981,7 +1981,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d7i_simulator,(void*)&d_d7i);
- dr = ((double (*) (double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,i9);
+ dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -1999,7 +1999,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d8i_simulator,(void*)&d_d8i);
- dr = ((double (*) (double,double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,i9);
+ dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -2017,7 +2017,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d12i_simulator,(void*)&d_d12i);
- dr = ((double (*) (double,double,double,double,double,double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,i9);
+ dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -2035,7 +2035,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d13i_simulator,(void*)&d_d13i);
- dr = ((double (*) (double,double,double,double,double,double,double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,i9);
+ dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double,double,double,double,double,double,int)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,i9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -2061,7 +2061,7 @@
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_Size1);
PREP_CALLBACK(cif,S1_v_simulator,(void*)&S1_v);
- r = ((Size1 (*) (void)) callback_code) ();
+ r = ((Size1 (ABI_ATTR *) (void)) callback_code) ();
}
FREE_CALLBACK();
fprintf(out,"->{%c}\n",r.x1);
@@ -2086,7 +2086,7 @@
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_Size2);
PREP_CALLBACK(cif,S2_v_simulator,(void*)&S2_v);
- r = ((Size2 (*) (void)) callback_code) ();
+ r = ((Size2 (ABI_ATTR *) (void)) callback_code) ();
}
FREE_CALLBACK();
fprintf(out,"->{%c%c}\n",r.x1,r.x2);
@@ -2111,7 +2111,7 @@
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_Size3);
PREP_CALLBACK(cif,S3_v_simulator,(void*)&S3_v);
- r = ((Size3 (*) (void)) callback_code) ();
+ r = ((Size3 (ABI_ATTR *) (void)) callback_code) ();
}
FREE_CALLBACK();
fprintf(out,"->{%c%c%c}\n",r.x1,r.x2,r.x3);
@@ -2136,7 +2136,7 @@
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_Size4);
PREP_CALLBACK(cif,S4_v_simulator,(void*)&S4_v);
- r = ((Size4 (*) (void)) callback_code) ();
+ r = ((Size4 (ABI_ATTR *) (void)) callback_code) ();
}
FREE_CALLBACK();
fprintf(out,"->{%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4);
@@ -2161,7 +2161,7 @@
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_Size7);
PREP_CALLBACK(cif,S7_v_simulator,(void*)&S7_v);
- r = ((Size7 (*) (void)) callback_code) ();
+ r = ((Size7 (ABI_ATTR *) (void)) callback_code) ();
}
FREE_CALLBACK();
fprintf(out,"->{%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7);
@@ -2186,7 +2186,7 @@
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_Size8);
PREP_CALLBACK(cif,S8_v_simulator,(void*)&S8_v);
- r = ((Size8 (*) (void)) callback_code) ();
+ r = ((Size8 (ABI_ATTR *) (void)) callback_code) ();
}
FREE_CALLBACK();
fprintf(out,"->{%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8);
@@ -2211,7 +2211,7 @@
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_Size12);
PREP_CALLBACK(cif,S12_v_simulator,(void*)&S12_v);
- r = ((Size12 (*) (void)) callback_code) ();
+ r = ((Size12 (ABI_ATTR *) (void)) callback_code) ();
}
FREE_CALLBACK();
fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12);
@@ -2236,7 +2236,7 @@
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_Size15);
PREP_CALLBACK(cif,S15_v_simulator,(void*)&S15_v);
- r = ((Size15 (*) (void)) callback_code) ();
+ r = ((Size15 (ABI_ATTR *) (void)) callback_code) ();
}
FREE_CALLBACK();
fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12,r.x13,r.x14,r.x15);
@@ -2261,7 +2261,7 @@
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_Size16);
PREP_CALLBACK(cif,S16_v_simulator,(void*)&S16_v);
- r = ((Size16 (*) (void)) callback_code) ();
+ r = ((Size16 (ABI_ATTR *) (void)) callback_code) ();
}
FREE_CALLBACK();
fprintf(out,"->{%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c}\n",r.x1,r.x2,r.x3,r.x4,r.x5,r.x6,r.x7,r.x8,r.x9,r.x10,r.x11,r.x12,r.x13,r.x14,r.x15,r.x16);
@@ -2298,7 +2298,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_Int);
PREP_CALLBACK(cif,I_III_simulator,(void*)&I_III);
- Ir = ((Int (*) (Int,Int,Int)) callback_code) (I1,I2,I3);
+ Ir = ((Int (ABI_ATTR *) (Int,Int,Int)) callback_code) (I1,I2,I3);
}
FREE_CALLBACK();
fprintf(out,"->{%d}\n",Ir.x);
@@ -2322,7 +2322,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_Char);
PREP_CALLBACK(cif,C_CdC_simulator,(void*)&C_CdC);
- Cr = ((Char (*) (Char,double,Char)) callback_code) (C1,d2,C3);
+ Cr = ((Char (ABI_ATTR *) (Char,double,Char)) callback_code) (C1,d2,C3);
}
FREE_CALLBACK();
fprintf(out,"->{'%c'}\n",Cr.x);
@@ -2346,7 +2346,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_Float);
PREP_CALLBACK(cif,F_Ffd_simulator,(void*)&F_Ffd);
- Fr = ((Float (*) (Float,float,double)) callback_code) (F1,f2,d3);
+ Fr = ((Float (ABI_ATTR *) (Float,float,double)) callback_code) (F1,f2,d3);
}
FREE_CALLBACK();
fprintf(out,"->{%g}\n",Fr.x);
@@ -2370,7 +2370,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_Double);
PREP_CALLBACK(cif,D_fDd_simulator,(void*)&D_fDd);
- Dr = ((Double (*) (float,Double,double)) callback_code) (f1,D2,d3);
+ Dr = ((Double (ABI_ATTR *) (float,Double,double)) callback_code) (f1,D2,d3);
}
FREE_CALLBACK();
fprintf(out,"->{%g}\n",Dr.x);
@@ -2394,7 +2394,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_Double);
PREP_CALLBACK(cif,D_Dfd_simulator,(void*)&D_Dfd);
- Dr = ((Double (*) (Double,float,double)) callback_code) (D1,f2,d3);
+ Dr = ((Double (ABI_ATTR *) (Double,float,double)) callback_code) (D1,f2,d3);
}
FREE_CALLBACK();
fprintf(out,"->{%g}\n",Dr.x);
@@ -2418,7 +2418,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_J);
PREP_CALLBACK(cif,J_JiJ_simulator,(void*)&J_JiJ);
- Jr = ((J (*) (J,int,J)) callback_code) (J1,i2,J2);
+ Jr = ((J (ABI_ATTR *) (J,int,J)) callback_code) (J1,i2,J2);
}
FREE_CALLBACK();
fprintf(out,"->{%ld,%ld}\n",Jr.l1,Jr.l2);
@@ -2443,7 +2443,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_T);
PREP_CALLBACK(cif,T_TcT_simulator,(void*)&T_TcT);
- Tr = ((T (*) (T,char,T)) callback_code) (T1,' ',T2);
+ Tr = ((T (ABI_ATTR *) (T,char,T)) callback_code) (T1,' ',T2);
}
FREE_CALLBACK();
fprintf(out,"->{\"%c%c%c\"}\n",Tr.c[0],Tr.c[1],Tr.c[2]);
@@ -2468,7 +2468,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_X);
PREP_CALLBACK(cif,X_BcdB_simulator,(void*)&X_BcdB);
- Xr = ((X (*) (B,char,double,B)) callback_code) (B1,c2,d3,B2);
+ Xr = ((X (ABI_ATTR *) (B,char,double,B)) callback_code) (B1,c2,d3,B2);
}
FREE_CALLBACK();
fprintf(out,"->{\"%s\",'%c'}\n",Xr.c,Xr.c1);
@@ -2511,7 +2511,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slong);
PREP_CALLBACK(cif,l_l0K_simulator,(void*)l_l0K);
- lr = ((long (*) (K,long)) callback_code) (K1,l9);
+ lr = ((long (ABI_ATTR *) (K,long)) callback_code) (K1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%ld\n",lr);
@@ -2529,7 +2529,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slong);
PREP_CALLBACK(cif,l_l1K_simulator,(void*)l_l1K);
- lr = ((long (*) (long,K,long)) callback_code) (l1,K1,l9);
+ lr = ((long (ABI_ATTR *) (long,K,long)) callback_code) (l1,K1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%ld\n",lr);
@@ -2547,7 +2547,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slong);
PREP_CALLBACK(cif,l_l2K_simulator,(void*)l_l2K);
- lr = ((long (*) (long,long,K,long)) callback_code) (l1,l2,K1,l9);
+ lr = ((long (ABI_ATTR *) (long,long,K,long)) callback_code) (l1,l2,K1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%ld\n",lr);
@@ -2565,7 +2565,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slong);
PREP_CALLBACK(cif,l_l3K_simulator,(void*)l_l3K);
- lr = ((long (*) (long,long,long,K,long)) callback_code) (l1,l2,l3,K1,l9);
+ lr = ((long (ABI_ATTR *) (long,long,long,K,long)) callback_code) (l1,l2,l3,K1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%ld\n",lr);
@@ -2583,7 +2583,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slong);
PREP_CALLBACK(cif,l_l4K_simulator,(void*)l_l4K);
- lr = ((long (*) (long,long,long,long,K,long)) callback_code) (l1,l2,l3,l4,K1,l9);
+ lr = ((long (ABI_ATTR *) (long,long,long,long,K,long)) callback_code) (l1,l2,l3,l4,K1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%ld\n",lr);
@@ -2601,7 +2601,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slong);
PREP_CALLBACK(cif,l_l5K_simulator,(void*)l_l5K);
- lr = ((long (*) (long,long,long,long,long,K,long)) callback_code) (l1,l2,l3,l4,l5,K1,l9);
+ lr = ((long (ABI_ATTR *) (long,long,long,long,long,K,long)) callback_code) (l1,l2,l3,l4,l5,K1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%ld\n",lr);
@@ -2619,7 +2619,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slong);
PREP_CALLBACK(cif,l_l6K_simulator,(void*)l_l6K);
- lr = ((long (*) (long,long,long,long,long,long,K,long)) callback_code) (l1,l2,l3,l4,l5,l6,K1,l9);
+ lr = ((long (ABI_ATTR *) (long,long,long,long,long,long,K,long)) callback_code) (l1,l2,l3,l4,l5,l6,K1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%ld\n",lr);
@@ -2637,7 +2637,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_float);
PREP_CALLBACK(cif,f_f17l3L_simulator,(void*)&f_f17l3L);
- fr = ((float (*) (float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,long,long,long,L)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,l6,l7,l8,L1);
+ fr = ((float (ABI_ATTR *) (float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,float,long,long,long,L)) callback_code) (f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,l6,l7,l8,L1);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",fr);
@@ -2655,7 +2655,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_d17l3L_simulator,(void*)&d_d17l3L);
- dr = ((double (*) (double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,long,long,long,L)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16,d17,l6,l7,l8,L1);
+ dr = ((double (ABI_ATTR *) (double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,long,long,long,L)) callback_code) (d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15,d16,d17,l6,l7,l8,L1);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -2673,7 +2673,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong);
PREP_CALLBACK(cif,ll_l2ll_simulator,(void*)ll_l2ll);
- llr = ((long long (*) (long,long,long long,long)) callback_code) (l1,l2,ll1,l9);
+ llr = ((long long (ABI_ATTR *) (long,long,long long,long)) callback_code) (l1,l2,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff));
@@ -2691,7 +2691,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong);
PREP_CALLBACK(cif,ll_l3ll_simulator,(void*)ll_l3ll);
- llr = ((long long (*) (long,long,long,long long,long)) callback_code) (l1,l2,l3,ll1,l9);
+ llr = ((long long (ABI_ATTR *) (long,long,long,long long,long)) callback_code) (l1,l2,l3,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff));
@@ -2709,7 +2709,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong);
PREP_CALLBACK(cif,ll_l4ll_simulator,(void*)ll_l4ll);
- llr = ((long long (*) (long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,ll1,l9);
+ llr = ((long long (ABI_ATTR *) (long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff));
@@ -2727,7 +2727,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong);
PREP_CALLBACK(cif,ll_l5ll_simulator,(void*)ll_l5ll);
- llr = ((long long (*) (long,long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,l5,ll1,l9);
+ llr = ((long long (ABI_ATTR *) (long,long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,l5,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff));
@@ -2745,7 +2745,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong);
PREP_CALLBACK(cif,ll_l6ll_simulator,(void*)ll_l6ll);
- llr = ((long long (*) (long,long,long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,l5,l6,ll1,l9);
+ llr = ((long long (ABI_ATTR *) (long,long,long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,l5,l6,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff));
@@ -2763,7 +2763,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_slonglong);
PREP_CALLBACK(cif,ll_l7ll_simulator,(void*)ll_l7ll);
- llr = ((long long (*) (long,long,long,long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,l5,l6,l7,ll1,l9);
+ llr = ((long long (ABI_ATTR *) (long,long,long,long,long,long,long,long long,long)) callback_code) (l1,l2,l3,l4,l5,l6,l7,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->0x%lx%08lx\n",(long)(llr>>32),(long)(llr&0xffffffff));
@@ -2781,7 +2781,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_l2d_simulator,(void*)d_l2d);
- dr = ((double (*) (long,long,double,long)) callback_code) (l1,l2,ll1,l9);
+ dr = ((double (ABI_ATTR *) (long,long,double,long)) callback_code) (l1,l2,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -2799,7 +2799,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_l3d_simulator,(void*)d_l3d);
- dr = ((double (*) (long,long,long,double,long)) callback_code) (l1,l2,l3,ll1,l9);
+ dr = ((double (ABI_ATTR *) (long,long,long,double,long)) callback_code) (l1,l2,l3,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -2817,7 +2817,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_l4d_simulator,(void*)d_l4d);
- dr = ((double (*) (long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,ll1,l9);
+ dr = ((double (ABI_ATTR *) (long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -2835,7 +2835,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_l5d_simulator,(void*)d_l5d);
- dr = ((double (*) (long,long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,l5,ll1,l9);
+ dr = ((double (ABI_ATTR *) (long,long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,l5,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -2853,7 +2853,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_l6d_simulator,(void*)d_l6d);
- dr = ((double (*) (long,long,long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,l5,l6,ll1,l9);
+ dr = ((double (ABI_ATTR *) (long,long,long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,l5,l6,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);
@@ -2871,7 +2871,7 @@
ffi_cif cif;
FFI_PREP_CIF(cif,argtypes,ffi_type_double);
PREP_CALLBACK(cif,d_l7d_simulator,(void*)d_l7d);
- dr = ((double (*) (long,long,long,long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,l5,l6,l7,ll1,l9);
+ dr = ((double (ABI_ATTR *) (long,long,long,long,long,long,long,double,long)) callback_code) (l1,l2,l3,l4,l5,l6,l7,ll1,l9);
}
FREE_CALLBACK();
fprintf(out,"->%g\n",dr);