Fix issue #421 (#422) Fantastic - thanks for digging into this.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
diff --git a/testsuite/libffi.bhaible/test-call.c b/testsuite/libffi.bhaible/test-call.c
index 5897887..01a8a21 100644
--- a/testsuite/libffi.bhaible/test-call.c
+++ b/testsuite/libffi.bhaible/test-call.c
@@ -123,6 +123,7 @@ void
int_tests (void)
{
int ir;
+ ffi_arg retvalue;
#if (!defined(DGTEST)) || DGTEST == 2
ir = i_v();
fprintf(out,"->%d\n",ir);
@@ -132,7 +133,8 @@ void
ffi_cif cif;
FFI_PREP_CIF_NOARGS(cif,ffi_type_sint);
{
- FFI_CALL(cif,i_v,NULL,&ir);
+ FFI_CALL(cif,i_v,NULL,&retvalue);
+ ir = retvalue;
}
}
fprintf(out,"->%d\n",ir);
@@ -150,7 +152,8 @@ void
FFI_PREP_CIF(cif,argtypes,ffi_type_sint);
{
/*const*/ void* args[] = { &i1 };
- FFI_CALL(cif,i_i,args,&ir);
+ FFI_CALL(cif,i_i,args,&retvalue);
+ ir = retvalue;
}
}
fprintf(out,"->%d\n",ir);
@@ -168,7 +171,8 @@ void
FFI_PREP_CIF(cif,argtypes,ffi_type_sint);
{
/*const*/ void* args[] = { &i1, &i2 };
- FFI_CALL(cif,i_i2,args,&ir);
+ FFI_CALL(cif,i_i2,args,&retvalue);
+ ir = retvalue;
}
}
fprintf(out,"->%d\n",ir);
@@ -186,7 +190,8 @@ void
FFI_PREP_CIF(cif,argtypes,ffi_type_sint);
{
/*const*/ void* args[] = { &i1, &i2, &i3, &i4 };
- FFI_CALL(cif,i_i4,args,&ir);
+ FFI_CALL(cif,i_i4,args,&retvalue);
+ ir = retvalue;
}
}
fprintf(out,"->%d\n",ir);
@@ -204,7 +209,8 @@ void
FFI_PREP_CIF(cif,argtypes,ffi_type_sint);
{
/*const*/ void* args[] = { &i1, &i2, &i3, &i4, &i5, &i6, &i7, &i8 };
- FFI_CALL(cif,i_i8,args,&ir);
+ FFI_CALL(cif,i_i8,args,&retvalue);
+ ir = retvalue;
}
}
fprintf(out,"->%d\n",ir);
@@ -222,7 +228,8 @@ void
FFI_PREP_CIF(cif,argtypes,ffi_type_sint);
{
/*const*/ void* args[] = { &i1, &i2, &i3, &i4, &i5, &i6, &i7, &i8, &i9, &i10, &i11, &i12, &i13, &i14, &i15, &i16 };
- FFI_CALL(cif,i_i16,args,&ir);
+ FFI_CALL(cif,i_i16,args,&retvalue);
+ ir = retvalue;
}
}
fprintf(out,"->%d\n",ir);