* testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
specifiers.
* testsuite/libffi.call/nested_struct1.c (main): Ditto.
* testsuite/libffi.call/cls_sint.c (main): Ditto.
* testsuite/libffi.call/nested_struct9.c (main): Ditto.
* testsuite/libffi.call/cls_20byte1.c (main): Ditto.
* testsuite/libffi.call/cls_9byte1.c (main): Ditto.
* testsuite/libffi.call/closure_fn1.c (main): Ditto.
* testsuite/libffi.call/closure_fn3.c (main): Ditto.
* testsuite/libffi.call/return_dbl2.c (main): Ditto.
* testsuite/libffi.call/cls_sshort.c (main): Ditto.
* testsuite/libffi.call/return_fl3.c (main): Ditto.
* testsuite/libffi.call/closure_fn5.c (main): Ditto.
* testsuite/libffi.call/nested_struct.c (main): Ditto.
* testsuite/libffi.call/nested_struct10.c (main): Ditto.
* testsuite/libffi.call/return_ll1.c (main): Ditto.
* testsuite/libffi.call/cls_8byte.c (main): Ditto.
* testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
* testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
* testsuite/libffi.call/cls_20byte.c (main): Ditto.
* testsuite/libffi.call/nested_struct2.c (main): Ditto.
* testsuite/libffi.call/cls_24byte.c (main): Ditto.
* testsuite/libffi.call/nested_struct6.c (main): Ditto.
* testsuite/libffi.call/cls_uint.c (main): Ditto.
* testsuite/libffi.call/cls_12byte.c (main): Ditto.
* testsuite/libffi.call/cls_16byte.c (main): Ditto.
* testsuite/libffi.call/closure_fn0.c (main): Ditto.
* testsuite/libffi.call/cls_9byte2.c (main): Ditto.
* testsuite/libffi.call/closure_fn2.c (main): Ditto.
* testsuite/libffi.call/return_dbl1.c (main): Ditto.
* testsuite/libffi.call/closure_fn4.c (main): Ditto.
* testsuite/libffi.call/closure_fn6.c (main): Ditto.
* testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127312
138bc75d-0d04-0410-961f-
82ee72b054a4
+2007-08-08 David Daney <ddaney@avtrex.com>
+
+ * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
+ * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
+ specifiers.
+ * testsuite/libffi.call/nested_struct1.c (main): Ditto.
+ * testsuite/libffi.call/cls_sint.c (main): Ditto.
+ * testsuite/libffi.call/nested_struct9.c (main): Ditto.
+ * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
+ * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
+ * testsuite/libffi.call/closure_fn1.c (main): Ditto.
+ * testsuite/libffi.call/closure_fn3.c (main): Ditto.
+ * testsuite/libffi.call/return_dbl2.c (main): Ditto.
+ * testsuite/libffi.call/cls_sshort.c (main): Ditto.
+ * testsuite/libffi.call/return_fl3.c (main): Ditto.
+ * testsuite/libffi.call/closure_fn5.c (main): Ditto.
+ * testsuite/libffi.call/nested_struct.c (main): Ditto.
+ * testsuite/libffi.call/nested_struct10.c (main): Ditto.
+ * testsuite/libffi.call/return_ll1.c (main): Ditto.
+ * testsuite/libffi.call/cls_8byte.c (main): Ditto.
+ * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
+ * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
+ * testsuite/libffi.call/cls_20byte.c (main): Ditto.
+ * testsuite/libffi.call/nested_struct2.c (main): Ditto.
+ * testsuite/libffi.call/cls_24byte.c (main): Ditto.
+ * testsuite/libffi.call/nested_struct6.c (main): Ditto.
+ * testsuite/libffi.call/cls_uint.c (main): Ditto.
+ * testsuite/libffi.call/cls_12byte.c (main): Ditto.
+ * testsuite/libffi.call/cls_16byte.c (main): Ditto.
+ * testsuite/libffi.call/closure_fn0.c (main): Ditto.
+ * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
+ * testsuite/libffi.call/closure_fn2.c (main): Ditto.
+ * testsuite/libffi.call/return_dbl1.c (main): Ditto.
+ * testsuite/libffi.call/closure_fn4.c (main): Ditto.
+ * testsuite/libffi.call/closure_fn6.c (main): Ditto.
+ * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
+
2007-08-07 Andrew Haley <aph@redhat.com>
* src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
#endif
cl_arg_types[0] = &ffi_type_uint64;
- cl_arg_types[1] = &ffi_type_uint;
+ cl_arg_types[1] = &ffi_type_sint;
cl_arg_types[2] = &ffi_type_uint64;
- cl_arg_types[3] = &ffi_type_uint;
+ cl_arg_types[3] = &ffi_type_sint;
cl_arg_types[4] = &ffi_type_sshort;
cl_arg_types[5] = &ffi_type_uint64;
- cl_arg_types[6] = &ffi_type_uint;
- cl_arg_types[7] = &ffi_type_uint;
+ cl_arg_types[6] = &ffi_type_sint;
+ cl_arg_types[7] = &ffi_type_sint;
cl_arg_types[8] = &ffi_type_double;
- cl_arg_types[9] = &ffi_type_uint;
- cl_arg_types[10] = &ffi_type_uint;
+ cl_arg_types[9] = &ffi_type_sint;
+ cl_arg_types[10] = &ffi_type_sint;
cl_arg_types[11] = &ffi_type_float;
- cl_arg_types[12] = &ffi_type_uint;
- cl_arg_types[13] = &ffi_type_uint;
- cl_arg_types[14] = &ffi_type_uint;
- cl_arg_types[15] = &ffi_type_uint;
+ cl_arg_types[12] = &ffi_type_sint;
+ cl_arg_types[13] = &ffi_type_sint;
+ cl_arg_types[14] = &ffi_type_sint;
+ cl_arg_types[15] = &ffi_type_sint;
cl_arg_types[16] = NULL;
/* Initialize the cif */
cl_arg_types[4] = &ffi_type_sshort;
cl_arg_types[5] = &ffi_type_float;
cl_arg_types[6] = &ffi_type_float;
- cl_arg_types[7] = &ffi_type_uint;
+ cl_arg_types[7] = &ffi_type_sint;
cl_arg_types[8] = &ffi_type_double;
- cl_arg_types[9] = &ffi_type_uint;
- cl_arg_types[10] = &ffi_type_uint;
+ cl_arg_types[9] = &ffi_type_sint;
+ cl_arg_types[10] = &ffi_type_sint;
cl_arg_types[11] = &ffi_type_float;
- cl_arg_types[12] = &ffi_type_uint;
- cl_arg_types[13] = &ffi_type_uint;
- cl_arg_types[14] = &ffi_type_uint;
- cl_arg_types[15] = &ffi_type_uint;
+ cl_arg_types[12] = &ffi_type_sint;
+ cl_arg_types[13] = &ffi_type_sint;
+ cl_arg_types[14] = &ffi_type_sint;
+ cl_arg_types[15] = &ffi_type_sint;
cl_arg_types[16] = NULL;
/* Initialize the cif */
cl_arg_types[4] = &ffi_type_sshort;
cl_arg_types[5] = &ffi_type_double;
cl_arg_types[6] = &ffi_type_double;
- cl_arg_types[7] = &ffi_type_uint;
+ cl_arg_types[7] = &ffi_type_sint;
cl_arg_types[8] = &ffi_type_double;
- cl_arg_types[9] = &ffi_type_uint;
- cl_arg_types[10] = &ffi_type_uint;
+ cl_arg_types[9] = &ffi_type_sint;
+ cl_arg_types[10] = &ffi_type_sint;
cl_arg_types[11] = &ffi_type_float;
- cl_arg_types[12] = &ffi_type_uint;
+ cl_arg_types[12] = &ffi_type_sint;
cl_arg_types[13] = &ffi_type_float;
- cl_arg_types[14] = &ffi_type_uint;
- cl_arg_types[15] = &ffi_type_uint;
+ cl_arg_types[14] = &ffi_type_sint;
+ cl_arg_types[15] = &ffi_type_sint;
cl_arg_types[16] = NULL;
/* Initialize the cif */
cl_arg_types[6] = &ffi_type_float;
cl_arg_types[7] = &ffi_type_float;
cl_arg_types[8] = &ffi_type_double;
- cl_arg_types[9] = &ffi_type_uint;
+ cl_arg_types[9] = &ffi_type_sint;
cl_arg_types[10] = &ffi_type_float;
cl_arg_types[11] = &ffi_type_float;
- cl_arg_types[12] = &ffi_type_uint;
+ cl_arg_types[12] = &ffi_type_sint;
cl_arg_types[13] = &ffi_type_float;
cl_arg_types[14] = &ffi_type_float;
- cl_arg_types[15] = &ffi_type_uint;
+ cl_arg_types[15] = &ffi_type_sint;
cl_arg_types[16] = NULL;
/* Initialize the cif */
for (i = 0; i < 15; i++) {
cl_arg_types[i] = &ffi_type_uint64;
}
- cl_arg_types[15] = &ffi_type_uint;
+ cl_arg_types[15] = &ffi_type_sint;
cl_arg_types[16] = NULL;
/* Initialize the cif */
for (i = 0; i < 10; i++) {
cl_arg_types[i] = &ffi_type_uint64;
}
- cl_arg_types[10] = &ffi_type_uint;
+ cl_arg_types[10] = &ffi_type_sint;
for (i = 11; i < 15; i++) {
cl_arg_types[i] = &ffi_type_uint64;
}
- cl_arg_types[15] = &ffi_type_uint;
+ cl_arg_types[15] = &ffi_type_sint;
cl_arg_types[16] = NULL;
/* Initialize the cif */
cl_arg_types[1] = &ffi_type_uint64;
cl_arg_types[2] = &ffi_type_uint64;
cl_arg_types[3] = &ffi_type_uint64;
- cl_arg_types[4] = &ffi_type_uint;
+ cl_arg_types[4] = &ffi_type_sint;
cl_arg_types[5] = &ffi_type_double;
cl_arg_types[6] = &ffi_type_double;
cl_arg_types[7] = &ffi_type_float;
cl_arg_types[8] = &ffi_type_double;
cl_arg_types[9] = &ffi_type_double;
- cl_arg_types[10] = &ffi_type_uint;
+ cl_arg_types[10] = &ffi_type_sint;
cl_arg_types[11] = &ffi_type_float;
- cl_arg_types[12] = &ffi_type_uint;
- cl_arg_types[13] = &ffi_type_uint;
+ cl_arg_types[12] = &ffi_type_sint;
+ cl_arg_types[13] = &ffi_type_sint;
cl_arg_types[14] = &ffi_type_double;
cl_arg_types[15] = &ffi_type_double;
cl_arg_types[16] = NULL;
struct cls_struct_12byte j_dbl = { 1, 5, 3 };
struct cls_struct_12byte res_dbl;
- cls_struct_fields[0] = &ffi_type_uint32;
- cls_struct_fields[1] = &ffi_type_uint32;
- cls_struct_fields[2] = &ffi_type_uint32;
+ cls_struct_fields[0] = &ffi_type_sint;
+ cls_struct_fields[1] = &ffi_type_sint;
+ cls_struct_fields[2] = &ffi_type_sint;
cls_struct_fields[3] = NULL;
dbl_arg_types[0] = &cls_struct_type;
struct cls_struct_16byte j_dbl = { 1, 9.0, 3 };
struct cls_struct_16byte res_dbl;
- cls_struct_fields[0] = &ffi_type_uint32;
+ cls_struct_fields[0] = &ffi_type_sint;
cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_uint32;
+ cls_struct_fields[2] = &ffi_type_sint;
cls_struct_fields[3] = NULL;
dbl_arg_types[0] = &cls_struct_type;
cls_struct_fields[0] = &ffi_type_double;
cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_uint32;
+ cls_struct_fields[2] = &ffi_type_sint;
cls_struct_fields[3] = NULL;
dbl_arg_types[0] = &cls_struct_type;
struct cls_struct_20byte f_dbl = { 4, 5.0, 7.0 };
struct cls_struct_20byte res_dbl;
- cls_struct_fields[0] = &ffi_type_uint32;
+ cls_struct_fields[0] = &ffi_type_sint;
cls_struct_fields[1] = &ffi_type_double;
cls_struct_fields[2] = &ffi_type_double;
cls_struct_fields[3] = NULL;
cls_struct_fields[0] = &ffi_type_double;
cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_uint32;
+ cls_struct_fields[2] = &ffi_type_sint;
cls_struct_fields[3] = &ffi_type_float;
cls_struct_fields[4] = NULL;
struct cls_struct_8byte f_dbl = { 4, 5.0 };
struct cls_struct_8byte res_dbl;
- cls_struct_fields[0] = &ffi_type_uint32;
+ cls_struct_fields[0] = &ffi_type_sint;
cls_struct_fields[1] = &ffi_type_float;
cls_struct_fields[2] = NULL;
struct cls_struct_9byte j_dbl = { 1, 9.0};
struct cls_struct_9byte res_dbl;
- cls_struct_fields[0] = &ffi_type_uint32;
+ cls_struct_fields[0] = &ffi_type_sint;
cls_struct_fields[1] = &ffi_type_double;
cls_struct_fields[2] = NULL;
struct cls_struct_9byte res_dbl;
cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_uint32;
+ cls_struct_fields[1] = &ffi_type_sint;
cls_struct_fields[2] = NULL;
dbl_arg_types[0] = &cls_struct_type;
struct cls_struct_align res_dbl;
cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_sint16;
+ cls_struct_fields[1] = &ffi_type_sshort;
cls_struct_fields[2] = &ffi_type_uchar;
cls_struct_fields[3] = NULL;
struct cls_struct_align res_dbl;
cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_sint32;
+ cls_struct_fields[1] = &ffi_type_sint;
cls_struct_fields[2] = &ffi_type_uchar;
cls_struct_fields[3] = NULL;
struct cls_struct_align res_dbl;
cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_uint16;
+ cls_struct_fields[1] = &ffi_type_ushort;
cls_struct_fields[2] = &ffi_type_uchar;
cls_struct_fields[3] = NULL;
struct cls_struct_align res_dbl;
cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_uint32;
+ cls_struct_fields[1] = &ffi_type_uint;
cls_struct_fields[2] = &ffi_type_uchar;
cls_struct_fields[3] = NULL;
pcl = &cl;
#endif
- cl_arg_types[0] = &ffi_type_sint32;
+ cl_arg_types[0] = &ffi_type_sint;
cl_arg_types[1] = NULL;
/* Initialize the cif */
CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_sint32, cl_arg_types) == FFI_OK);
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
CHECK(ffi_prep_closure(pcl, &cif, cls_ret_sint_fn, NULL) == FFI_OK);
pcl = &cl;
#endif
- cl_arg_types[0] = &ffi_type_sint16;
+ cl_arg_types[0] = &ffi_type_sshort;
cl_arg_types[1] = NULL;
/* Initialize the cif */
CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_sint16, cl_arg_types) == FFI_OK);
+ &ffi_type_sshort, cl_arg_types) == FFI_OK);
CHECK(ffi_prep_closure(pcl, &cif, cls_ret_sshort_fn, NULL) == FFI_OK);
pcl = &cl;
#endif
- cl_arg_types[0] = &ffi_type_uint32;
+ cl_arg_types[0] = &ffi_type_uint;
cl_arg_types[1] = NULL;
/* Initialize the cif */
CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_uint32, cl_arg_types) == FFI_OK);
+ &ffi_type_uint, cl_arg_types) == FFI_OK);
CHECK(ffi_prep_closure(pcl, &cif, cls_ret_uint_fn, NULL) == FFI_OK);
#define CHECK(x) !(x) ? abort() : 0
-/* Define our own long for easier handling on multilib targets. */
-#if LONG_MAX == 2147483647
-#define ffi_type_mylong ffi_type_uint32
-#else
-#if LONG_MAX == 9223372036854775807
-#define ffi_type_mylong ffi_type_uint64
-#else
-#error "Error, size LONG not defined as expected"
-#endif
-#endif
-
/* Define __UNUSED__ that also other compilers than gcc can run the tests. */
#undef __UNUSED__
#if defined(__GNUC__)
cls_struct_fields[0] = &ffi_type_double;
cls_struct_fields[1] = &ffi_type_float;
- cls_struct_fields[2] = &ffi_type_uint32;
+ cls_struct_fields[2] = &ffi_type_sint;
cls_struct_fields[3] = NULL;
- cls_struct_fields1[0] = &ffi_type_uint32;
+ cls_struct_fields1[0] = &ffi_type_sint;
cls_struct_fields1[1] = &ffi_type_double;
cls_struct_fields1[2] = &ffi_type_float;
cls_struct_fields1[3] = NULL;
cls_struct_fields[0] = &ffi_type_double;
cls_struct_fields[1] = &ffi_type_float;
- cls_struct_fields[2] = &ffi_type_uint32;
+ cls_struct_fields[2] = &ffi_type_sint;
cls_struct_fields[3] = NULL;
- cls_struct_fields1[0] = &ffi_type_uint32;
+ cls_struct_fields1[0] = &ffi_type_sint;
cls_struct_fields1[1] = &ffi_type_double;
cls_struct_fields1[2] = &ffi_type_float;
cls_struct_fields1[3] = NULL;
cls_struct_fields1[0] = &ffi_type_uchar;
cls_struct_fields1[1] = &cls_struct_type;
- cls_struct_fields1[2] = &ffi_type_uint32;
+ cls_struct_fields1[2] = &ffi_type_uint;
cls_struct_fields1[3] = NULL;
cls_struct_fields2[0] = &ffi_type_uint64;
struct B res_dbl;
- cls_struct_fields[0] = &ffi_type_mylong;
+ cls_struct_fields[0] = &ffi_type_ulong;
cls_struct_fields[1] = &ffi_type_uchar;
cls_struct_fields[2] = NULL;
cls_struct_fields1[1] = &ffi_type_uchar;
cls_struct_fields1[2] = NULL;
- cls_struct_fields2[0] = &ffi_type_mylong;
+ cls_struct_fields2[0] = &ffi_type_slong;
cls_struct_fields2[1] = &ffi_type_uchar;
cls_struct_fields2[2] = NULL;
cls_struct_fields1[1] = &ffi_type_uchar;
cls_struct_fields1[2] = NULL;
- cls_struct_fields2[0] = &ffi_type_mylong;
+ cls_struct_fields2[0] = &ffi_type_ulong;
cls_struct_fields2[1] = &ffi_type_uchar;
cls_struct_fields2[2] = NULL;
unsigned int in3;
args[0] = &ffi_type_double;
args[1] = &ffi_type_float;
- args[2] = &ffi_type_uint32;
+ args[2] = &ffi_type_uint;
args[3] = &ffi_type_double;
values[0] = &dbl1;
values[1] = &fl2;
unsigned int in3;
args[0] = &ffi_type_double;
args[1] = &ffi_type_double;
- args[2] = &ffi_type_uint32;
+ args[2] = &ffi_type_uint;
args[3] = &ffi_type_double;
values[0] = &dbl1;
values[1] = &dbl2;
unsigned int in3;
args[0] = &ffi_type_float;
args[1] = &ffi_type_float;
- args[2] = &ffi_type_uint32;
+ args[2] = &ffi_type_uint;
args[3] = &ffi_type_float;
values[0] = &fl1;
values[1] = &fl2;
long long ll1;
unsigned ll0, ll2;
- args[0] = &ffi_type_uint32;
+ args[0] = &ffi_type_sint;
args[1] = &ffi_type_sint64;
- args[2] = &ffi_type_uint32;
+ args[2] = &ffi_type_sint;
values[0] = &ll0;
values[1] = &ll1;
values[2] = &ll2;