diff options
Diffstat (limited to 'libffi/testsuite/libffi.call')
78 files changed, 211 insertions, 149 deletions
diff --git a/libffi/testsuite/libffi.call/call.exp b/libffi/testsuite/libffi.call/call.exp index bd4d2e8cc25..25e01099975 100644 --- a/libffi/testsuite/libffi.call/call.exp +++ b/libffi/testsuite/libffi.call/call.exp @@ -27,6 +27,7 @@ dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "-O0 -W -Wall" "" dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "-O2" "" dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "-O3" "" dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "-Os" "" +dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "-O2 -fomit-frame-pointer" "" dg-finish diff --git a/libffi/testsuite/libffi.call/closure_fn0.c b/libffi/testsuite/libffi.call/closure_fn0.c index 929b0dd39ce..e4875270a0c 100644 --- a/libffi/testsuite/libffi.call/closure_fn0.c +++ b/libffi/testsuite/libffi.call/closure_fn0.c @@ -9,7 +9,7 @@ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void @@ -63,21 +63,21 @@ int main (void) #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 */ diff --git a/libffi/testsuite/libffi.call/closure_fn1.c b/libffi/testsuite/libffi.call/closure_fn1.c index e12917bbab0..db26c4246e4 100644 --- a/libffi/testsuite/libffi.call/closure_fn1.c +++ b/libffi/testsuite/libffi.call/closure_fn1.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" @@ -61,15 +61,15 @@ int main (void) 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 */ diff --git a/libffi/testsuite/libffi.call/closure_fn2.c b/libffi/testsuite/libffi.call/closure_fn2.c index 498173ce6b8..cbf73856113 100644 --- a/libffi/testsuite/libffi.call/closure_fn2.c +++ b/libffi/testsuite/libffi.call/closure_fn2.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void closure_test_fn2(ffi_cif* cif __UNUSED__, void* resp, void** args, @@ -61,15 +61,15 @@ int main (void) 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 */ diff --git a/libffi/testsuite/libffi.call/closure_fn3.c b/libffi/testsuite/libffi.call/closure_fn3.c index cd95dc4f044..1fb32a86db6 100644 --- a/libffi/testsuite/libffi.call/closure_fn3.c +++ b/libffi/testsuite/libffi.call/closure_fn3.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void closure_test_fn3(ffi_cif* cif __UNUSED__, void* resp, void** args, @@ -64,13 +64,13 @@ int main (void) 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 */ diff --git a/libffi/testsuite/libffi.call/closure_fn4.c b/libffi/testsuite/libffi.call/closure_fn4.c index 65ff2be1058..74506f31a0e 100644 --- a/libffi/testsuite/libffi.call/closure_fn4.c +++ b/libffi/testsuite/libffi.call/closure_fn4.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20031026 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" @@ -76,7 +76,7 @@ int main (void) 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 */ diff --git a/libffi/testsuite/libffi.call/closure_fn5.c b/libffi/testsuite/libffi.call/closure_fn5.c index 2ad0aed21c2..c64ee8dfd66 100644 --- a/libffi/testsuite/libffi.call/closure_fn5.c +++ b/libffi/testsuite/libffi.call/closure_fn5.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20031026 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void @@ -74,11 +74,11 @@ int main (void) 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 */ diff --git a/libffi/testsuite/libffi.call/closure_fn6.c b/libffi/testsuite/libffi.call/closure_fn6.c index e701a1f6e86..16c52fdf20e 100644 --- a/libffi/testsuite/libffi.call/closure_fn6.c +++ b/libffi/testsuite/libffi.call/closure_fn6.c @@ -5,7 +5,7 @@ PR: PR23404 Originator: <andreast@gcc.gnu.org> 20050830 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void @@ -67,16 +67,16 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_12byte.c b/libffi/testsuite/libffi.call/cls_12byte.c index e436721e752..92530d5ff57 100644 --- a/libffi/testsuite/libffi.call/cls_12byte.c +++ b/libffi/testsuite/libffi.call/cls_12byte.c @@ -4,7 +4,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_12byte { @@ -66,9 +66,9 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_16byte.c b/libffi/testsuite/libffi.call/cls_16byte.c index 466aa877ca4..f3c314a8760 100644 --- a/libffi/testsuite/libffi.call/cls_16byte.c +++ b/libffi/testsuite/libffi.call/cls_16byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_16byte { @@ -67,9 +67,9 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_18byte.c b/libffi/testsuite/libffi.call/cls_18byte.c index 9a48750512e..90165804695 100644 --- a/libffi/testsuite/libffi.call/cls_18byte.c +++ b/libffi/testsuite/libffi.call/cls_18byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030915 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_18byte { diff --git a/libffi/testsuite/libffi.call/cls_19byte.c b/libffi/testsuite/libffi.call/cls_19byte.c index 78319723a12..8af583467b1 100644 --- a/libffi/testsuite/libffi.call/cls_19byte.c +++ b/libffi/testsuite/libffi.call/cls_19byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030915 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_19byte { diff --git a/libffi/testsuite/libffi.call/cls_1_1byte.c b/libffi/testsuite/libffi.call/cls_1_1byte.c index 5ebd2c8880d..0fcc8c6d54c 100644 --- a/libffi/testsuite/libffi.call/cls_1_1byte.c +++ b/libffi/testsuite/libffi.call/cls_1_1byte.c @@ -8,7 +8,7 @@ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_1_1byte { diff --git a/libffi/testsuite/libffi.call/cls_20byte.c b/libffi/testsuite/libffi.call/cls_20byte.c index b12d4b17bbf..fa5f81a88c8 100644 --- a/libffi/testsuite/libffi.call/cls_20byte.c +++ b/libffi/testsuite/libffi.call/cls_20byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_20byte { @@ -69,7 +69,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_20byte1.c b/libffi/testsuite/libffi.call/cls_20byte1.c index 978a51a970d..072bafcafb5 100644 --- a/libffi/testsuite/libffi.call/cls_20byte1.c +++ b/libffi/testsuite/libffi.call/cls_20byte1.c @@ -7,7 +7,7 @@ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_20byte { @@ -69,7 +69,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_24byte.c b/libffi/testsuite/libffi.call/cls_24byte.c index 9aa0c065097..22e169058c5 100644 --- a/libffi/testsuite/libffi.call/cls_24byte.c +++ b/libffi/testsuite/libffi.call/cls_24byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_24byte { @@ -82,7 +82,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_2byte.c b/libffi/testsuite/libffi.call/cls_2byte.c index 2c01ee5b340..5b91a09a2cc 100644 --- a/libffi/testsuite/libffi.call/cls_2byte.c +++ b/libffi/testsuite/libffi.call/cls_2byte.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_2byte { diff --git a/libffi/testsuite/libffi.call/cls_3_1byte.c b/libffi/testsuite/libffi.call/cls_3_1byte.c index bcb5de761f4..93fe911d2da 100644 --- a/libffi/testsuite/libffi.call/cls_3_1byte.c +++ b/libffi/testsuite/libffi.call/cls_3_1byte.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030902 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_3_1byte { diff --git a/libffi/testsuite/libffi.call/cls_3byte1.c b/libffi/testsuite/libffi.call/cls_3byte1.c index 53e6b87303b..b7726917094 100644 --- a/libffi/testsuite/libffi.call/cls_3byte1.c +++ b/libffi/testsuite/libffi.call/cls_3byte1.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_3byte { diff --git a/libffi/testsuite/libffi.call/cls_3byte2.c b/libffi/testsuite/libffi.call/cls_3byte2.c index f5f2a4fea11..51128cc18ef 100644 --- a/libffi/testsuite/libffi.call/cls_3byte2.c +++ b/libffi/testsuite/libffi.call/cls_3byte2.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_3byte_1 { diff --git a/libffi/testsuite/libffi.call/cls_4_1byte.c b/libffi/testsuite/libffi.call/cls_4_1byte.c index 3a3233897dd..a378d194f42 100644 --- a/libffi/testsuite/libffi.call/cls_4_1byte.c +++ b/libffi/testsuite/libffi.call/cls_4_1byte.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030902 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_4_1byte { diff --git a/libffi/testsuite/libffi.call/cls_4byte.c b/libffi/testsuite/libffi.call/cls_4byte.c index 08321f411cb..b2c951dbeb5 100644 --- a/libffi/testsuite/libffi.call/cls_4byte.c +++ b/libffi/testsuite/libffi.call/cls_4byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" diff --git a/libffi/testsuite/libffi.call/cls_5_1_byte.c b/libffi/testsuite/libffi.call/cls_5_1_byte.c index d7745d82ebf..40d2e64eec8 100644 --- a/libffi/testsuite/libffi.call/cls_5_1_byte.c +++ b/libffi/testsuite/libffi.call/cls_5_1_byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20050708 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_5byte { diff --git a/libffi/testsuite/libffi.call/cls_5byte.c b/libffi/testsuite/libffi.call/cls_5byte.c index adf2a4fe6c8..0307e51f6b9 100644 --- a/libffi/testsuite/libffi.call/cls_5byte.c +++ b/libffi/testsuite/libffi.call/cls_5byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_5byte { diff --git a/libffi/testsuite/libffi.call/cls_64byte.c b/libffi/testsuite/libffi.call/cls_64byte.c index a6a4f6950c5..1329c6f26ab 100644 --- a/libffi/testsuite/libffi.call/cls_64byte.c +++ b/libffi/testsuite/libffi.call/cls_64byte.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_64byte { diff --git a/libffi/testsuite/libffi.call/cls_6_1_byte.c b/libffi/testsuite/libffi.call/cls_6_1_byte.c index dd90ce3163d..7ddb586ea1a 100644 --- a/libffi/testsuite/libffi.call/cls_6_1_byte.c +++ b/libffi/testsuite/libffi.call/cls_6_1_byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20050708 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_6byte { diff --git a/libffi/testsuite/libffi.call/cls_6byte.c b/libffi/testsuite/libffi.call/cls_6byte.c index afcb2d217d1..24fd63baa37 100644 --- a/libffi/testsuite/libffi.call/cls_6byte.c +++ b/libffi/testsuite/libffi.call/cls_6byte.c @@ -6,7 +6,7 @@ Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_6byte { diff --git a/libffi/testsuite/libffi.call/cls_7_1_byte.c b/libffi/testsuite/libffi.call/cls_7_1_byte.c index 628855e3d53..0cf1371a77a 100644 --- a/libffi/testsuite/libffi.call/cls_7_1_byte.c +++ b/libffi/testsuite/libffi.call/cls_7_1_byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20050708 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_7byte { diff --git a/libffi/testsuite/libffi.call/cls_7byte.c b/libffi/testsuite/libffi.call/cls_7byte.c index 11932cb00d7..77858625fa9 100644 --- a/libffi/testsuite/libffi.call/cls_7byte.c +++ b/libffi/testsuite/libffi.call/cls_7byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_7byte { diff --git a/libffi/testsuite/libffi.call/cls_8byte.c b/libffi/testsuite/libffi.call/cls_8byte.c index 46ef1a73c3b..75326b8f70e 100644 --- a/libffi/testsuite/libffi.call/cls_8byte.c +++ b/libffi/testsuite/libffi.call/cls_8byte.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_8byte { @@ -66,7 +66,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_9byte1.c b/libffi/testsuite/libffi.call/cls_9byte1.c index 6070fbe998d..0b3de9daa93 100644 --- a/libffi/testsuite/libffi.call/cls_9byte1.c +++ b/libffi/testsuite/libffi.call/cls_9byte1.c @@ -7,7 +7,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030914 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_9byte { @@ -67,7 +67,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_9byte2.c b/libffi/testsuite/libffi.call/cls_9byte2.c index c4c8935db84..8cafc8af6c8 100644 --- a/libffi/testsuite/libffi.call/cls_9byte2.c +++ b/libffi/testsuite/libffi.call/cls_9byte2.c @@ -7,7 +7,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030914 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_9byte { @@ -68,7 +68,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_align_double.c b/libffi/testsuite/libffi.call/cls_align_double.c index 478075c6a97..5ba230154a4 100644 --- a/libffi/testsuite/libffi.call/cls_align_double.c +++ b/libffi/testsuite/libffi.call/cls_align_double.c @@ -6,7 +6,7 @@ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_align { diff --git a/libffi/testsuite/libffi.call/cls_align_float.c b/libffi/testsuite/libffi.call/cls_align_float.c index 9e01af1ad6f..996e1ab965b 100644 --- a/libffi/testsuite/libffi.call/cls_align_float.c +++ b/libffi/testsuite/libffi.call/cls_align_float.c @@ -4,7 +4,7 @@ PR: none. Originator: <hos@tamanegi.org> 20031203 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_align { diff --git a/libffi/testsuite/libffi.call/cls_align_longdouble.c b/libffi/testsuite/libffi.call/cls_align_longdouble.c index 7057f7bb970..cb603950da8 100644 --- a/libffi/testsuite/libffi.call/cls_align_longdouble.c +++ b/libffi/testsuite/libffi.call/cls_align_longdouble.c @@ -4,7 +4,7 @@ PR: none. Originator: <hos@tamanegi.org> 20031203 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" diff --git a/libffi/testsuite/libffi.call/cls_align_pointer.c b/libffi/testsuite/libffi.call/cls_align_pointer.c index d3c1926d651..441edcb1027 100644 --- a/libffi/testsuite/libffi.call/cls_align_pointer.c +++ b/libffi/testsuite/libffi.call/cls_align_pointer.c @@ -4,7 +4,7 @@ PR: none. Originator: <hos@tamanegi.org> 20031203 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_align { diff --git a/libffi/testsuite/libffi.call/cls_align_sint16.c b/libffi/testsuite/libffi.call/cls_align_sint16.c index fe2cb04fd91..fe4fe092215 100644 --- a/libffi/testsuite/libffi.call/cls_align_sint16.c +++ b/libffi/testsuite/libffi.call/cls_align_sint16.c @@ -4,7 +4,7 @@ PR: none. Originator: <hos@tamanegi.org> 20031203 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_align { @@ -68,7 +68,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_align_sint32.c b/libffi/testsuite/libffi.call/cls_align_sint32.c index a9a17f3eda5..c059da80975 100644 --- a/libffi/testsuite/libffi.call/cls_align_sint32.c +++ b/libffi/testsuite/libffi.call/cls_align_sint32.c @@ -4,7 +4,7 @@ PR: none. Originator: <hos@tamanegi.org> 20031203 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_align { @@ -68,7 +68,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_align_sint64.c b/libffi/testsuite/libffi.call/cls_align_sint64.c index 7dfb469f024..f5e9746cab0 100644 --- a/libffi/testsuite/libffi.call/cls_align_sint64.c +++ b/libffi/testsuite/libffi.call/cls_align_sint64.c @@ -4,7 +4,7 @@ PR: none. Originator: <hos@tamanegi.org> 20031203 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_align { diff --git a/libffi/testsuite/libffi.call/cls_align_uint16.c b/libffi/testsuite/libffi.call/cls_align_uint16.c index 2e383adf7f7..c861bee344d 100644 --- a/libffi/testsuite/libffi.call/cls_align_uint16.c +++ b/libffi/testsuite/libffi.call/cls_align_uint16.c @@ -4,7 +4,7 @@ PR: none. Originator: <hos@tamanegi.org> 20031203 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_align { @@ -68,7 +68,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_align_uint32.c b/libffi/testsuite/libffi.call/cls_align_uint32.c index dadb458def4..d680d8a9f8c 100644 --- a/libffi/testsuite/libffi.call/cls_align_uint32.c +++ b/libffi/testsuite/libffi.call/cls_align_uint32.c @@ -4,7 +4,7 @@ PR: none. Originator: <hos@tamanegi.org> 20031203 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_align { @@ -68,7 +68,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/cls_align_uint64.c b/libffi/testsuite/libffi.call/cls_align_uint64.c index b60bcad75f7..0737ba2305b 100644 --- a/libffi/testsuite/libffi.call/cls_align_uint64.c +++ b/libffi/testsuite/libffi.call/cls_align_uint64.c @@ -5,7 +5,7 @@ Originator: <hos@tamanegi.org> 20031203 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_align { diff --git a/libffi/testsuite/libffi.call/cls_double.c b/libffi/testsuite/libffi.call/cls_double.c index 067cb7ac7d7..ee77adde6a0 100644 --- a/libffi/testsuite/libffi.call/cls_double.c +++ b/libffi/testsuite/libffi.call/cls_double.c @@ -4,7 +4,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void cls_ret_double_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, diff --git a/libffi/testsuite/libffi.call/cls_float.c b/libffi/testsuite/libffi.call/cls_float.c index 1d5f4db278c..8bed628f823 100644 --- a/libffi/testsuite/libffi.call/cls_float.c +++ b/libffi/testsuite/libffi.call/cls_float.c @@ -4,7 +4,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void cls_ret_float_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, diff --git a/libffi/testsuite/libffi.call/cls_multi_schar.c b/libffi/testsuite/libffi.call/cls_multi_schar.c index 56e3f1c729c..713c3188d81 100644 --- a/libffi/testsuite/libffi.call/cls_multi_schar.c +++ b/libffi/testsuite/libffi.call/cls_multi_schar.c @@ -4,7 +4,7 @@ PR: PR13221. Originator: <hos@tamanegi.org> 20031129 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" signed char test_func_fn(signed char a1, signed char a2) diff --git a/libffi/testsuite/libffi.call/cls_multi_sshort.c b/libffi/testsuite/libffi.call/cls_multi_sshort.c index 662d48b3ed5..852fdf73db7 100644 --- a/libffi/testsuite/libffi.call/cls_multi_sshort.c +++ b/libffi/testsuite/libffi.call/cls_multi_sshort.c @@ -4,7 +4,7 @@ PR: PR13221. Originator: <andreast@gcc.gnu.org> 20031129 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" signed short test_func_fn(signed short a1, signed short a2) diff --git a/libffi/testsuite/libffi.call/cls_multi_sshortchar.c b/libffi/testsuite/libffi.call/cls_multi_sshortchar.c index 1d60833fc8f..e4e92ef4480 100644 --- a/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +++ b/libffi/testsuite/libffi.call/cls_multi_sshortchar.c @@ -4,7 +4,7 @@ PR: PR13221. Originator: <andreast@gcc.gnu.org> 20031129 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" signed short test_func_fn(signed char a1, signed short a2, diff --git a/libffi/testsuite/libffi.call/cls_multi_uchar.c b/libffi/testsuite/libffi.call/cls_multi_uchar.c index 734fb7b6aa3..2c84aef6134 100644 --- a/libffi/testsuite/libffi.call/cls_multi_uchar.c +++ b/libffi/testsuite/libffi.call/cls_multi_uchar.c @@ -4,7 +4,7 @@ PR: PR13221. Originator: <andreast@gcc.gnu.org> 20031129 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" unsigned char test_func_fn(unsigned char a1, unsigned char a2, diff --git a/libffi/testsuite/libffi.call/cls_multi_ushort.c b/libffi/testsuite/libffi.call/cls_multi_ushort.c index 8a2237ac25a..215fef832a8 100644 --- a/libffi/testsuite/libffi.call/cls_multi_ushort.c +++ b/libffi/testsuite/libffi.call/cls_multi_ushort.c @@ -4,7 +4,7 @@ PR: PR13221. Originator: <andreast@gcc.gnu.org> 20031129 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" unsigned short test_func_fn(unsigned short a1, unsigned short a2) diff --git a/libffi/testsuite/libffi.call/cls_multi_ushortchar.c b/libffi/testsuite/libffi.call/cls_multi_ushortchar.c index 953fac4b5cf..1cde84abb5e 100644 --- a/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +++ b/libffi/testsuite/libffi.call/cls_multi_ushortchar.c @@ -4,7 +4,7 @@ PR: PR13221. Originator: <andreast@gcc.gnu.org> 20031129 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" unsigned short test_func_fn(unsigned char a1, unsigned short a2, diff --git a/libffi/testsuite/libffi.call/cls_schar.c b/libffi/testsuite/libffi.call/cls_schar.c index 2b9af7a6293..bb1f2c64f35 100644 --- a/libffi/testsuite/libffi.call/cls_schar.c +++ b/libffi/testsuite/libffi.call/cls_schar.c @@ -6,7 +6,7 @@ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void cls_ret_schar_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, diff --git a/libffi/testsuite/libffi.call/cls_sint.c b/libffi/testsuite/libffi.call/cls_sint.c index 35e5012c020..cf21bf84417 100644 --- a/libffi/testsuite/libffi.call/cls_sint.c +++ b/libffi/testsuite/libffi.call/cls_sint.c @@ -4,7 +4,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20031108 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void cls_ret_sint_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, @@ -32,12 +32,12 @@ int main (void) 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); diff --git a/libffi/testsuite/libffi.call/cls_sshort.c b/libffi/testsuite/libffi.call/cls_sshort.c index 81c8b95b0ee..8d63413318d 100644 --- a/libffi/testsuite/libffi.call/cls_sshort.c +++ b/libffi/testsuite/libffi.call/cls_sshort.c @@ -4,7 +4,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20031108 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void cls_ret_sshort_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, @@ -32,12 +32,12 @@ int main (void) 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); diff --git a/libffi/testsuite/libffi.call/cls_uchar.c b/libffi/testsuite/libffi.call/cls_uchar.c index f16d79e651b..ea78ce5840a 100644 --- a/libffi/testsuite/libffi.call/cls_uchar.c +++ b/libffi/testsuite/libffi.call/cls_uchar.c @@ -4,7 +4,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void cls_ret_uchar_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, diff --git a/libffi/testsuite/libffi.call/cls_uint.c b/libffi/testsuite/libffi.call/cls_uint.c index 0f8189c1085..e31e41aacf2 100644 --- a/libffi/testsuite/libffi.call/cls_uint.c +++ b/libffi/testsuite/libffi.call/cls_uint.c @@ -4,7 +4,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void cls_ret_uint_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, @@ -33,12 +33,12 @@ int main (void) 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); diff --git a/libffi/testsuite/libffi.call/cls_ulonglong.c b/libffi/testsuite/libffi.call/cls_ulonglong.c index 0a9588ab035..1cc0a389332 100644 --- a/libffi/testsuite/libffi.call/cls_ulonglong.c +++ b/libffi/testsuite/libffi.call/cls_ulonglong.c @@ -4,7 +4,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void cls_ret_ulonglong_fn(ffi_cif* cif __UNUSED__, void* resp, diff --git a/libffi/testsuite/libffi.call/cls_ushort.c b/libffi/testsuite/libffi.call/cls_ushort.c index b5f16c8973c..81f984862a3 100644 --- a/libffi/testsuite/libffi.call/cls_ushort.c +++ b/libffi/testsuite/libffi.call/cls_ushort.c @@ -4,7 +4,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" static void cls_ret_ushort_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, diff --git a/libffi/testsuite/libffi.call/ffitest.h b/libffi/testsuite/libffi.call/ffitest.h index 42fce0489f1..e73f758f586 100644 --- a/libffi/testsuite/libffi.call/ffitest.h +++ b/libffi/testsuite/libffi.call/ffitest.h @@ -9,17 +9,6 @@ #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__) diff --git a/libffi/testsuite/libffi.call/nested_struct.c b/libffi/testsuite/libffi.call/nested_struct.c index 6a9b7c78d8a..adce7ba434f 100644 --- a/libffi/testsuite/libffi.call/nested_struct.c +++ b/libffi/testsuite/libffi.call/nested_struct.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_16byte1 { @@ -108,10 +108,10 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/nested_struct1.c b/libffi/testsuite/libffi.call/nested_struct1.c index 835e978ad52..f7fe72e5902 100644 --- a/libffi/testsuite/libffi.call/nested_struct1.c +++ b/libffi/testsuite/libffi.call/nested_struct1.c @@ -5,7 +5,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct cls_struct_16byte1 { @@ -113,10 +113,10 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/nested_struct10.c b/libffi/testsuite/libffi.call/nested_struct10.c index 9faf9bf6543..8d9aba2acdc 100644 --- a/libffi/testsuite/libffi.call/nested_struct10.c +++ b/libffi/testsuite/libffi.call/nested_struct10.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20051010 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct A { @@ -102,7 +102,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/nested_struct2.c b/libffi/testsuite/libffi.call/nested_struct2.c index 933d3bbad35..821fcc40f6b 100644 --- a/libffi/testsuite/libffi.call/nested_struct2.c +++ b/libffi/testsuite/libffi.call/nested_struct2.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030911 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct A { @@ -80,7 +80,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/nested_struct3.c b/libffi/testsuite/libffi.call/nested_struct3.c index 48e27d2610c..f11aff49b94 100644 --- a/libffi/testsuite/libffi.call/nested_struct3.c +++ b/libffi/testsuite/libffi.call/nested_struct3.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030911 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct A { diff --git a/libffi/testsuite/libffi.call/nested_struct4.c b/libffi/testsuite/libffi.call/nested_struct4.c index add6eac5c1c..0553ce88166 100644 --- a/libffi/testsuite/libffi.call/nested_struct4.c +++ b/libffi/testsuite/libffi.call/nested_struct4.c @@ -6,7 +6,7 @@ PR: PR 25630. Originator: <andreast@gcc.gnu.org> 20051010 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct A { diff --git a/libffi/testsuite/libffi.call/nested_struct5.c b/libffi/testsuite/libffi.call/nested_struct5.c index f9e982bbfb7..a77931b59b8 100644 --- a/libffi/testsuite/libffi.call/nested_struct5.c +++ b/libffi/testsuite/libffi.call/nested_struct5.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20051010 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct A { diff --git a/libffi/testsuite/libffi.call/nested_struct6.c b/libffi/testsuite/libffi.call/nested_struct6.c index 059389b3d0a..af2821c769f 100644 --- a/libffi/testsuite/libffi.call/nested_struct6.c +++ b/libffi/testsuite/libffi.call/nested_struct6.c @@ -6,7 +6,7 @@ PR: PR 25630. Originator: <andreast@gcc.gnu.org> 20051010 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct A { @@ -103,7 +103,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/nested_struct7.c b/libffi/testsuite/libffi.call/nested_struct7.c index 220c651ea0d..c7dd4f7347e 100644 --- a/libffi/testsuite/libffi.call/nested_struct7.c +++ b/libffi/testsuite/libffi.call/nested_struct7.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20051010 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct A { diff --git a/libffi/testsuite/libffi.call/nested_struct8.c b/libffi/testsuite/libffi.call/nested_struct8.c index 2b72a6c43d8..775ff70fdaf 100644 --- a/libffi/testsuite/libffi.call/nested_struct8.c +++ b/libffi/testsuite/libffi.call/nested_struct8.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20051010 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct A { diff --git a/libffi/testsuite/libffi.call/nested_struct9.c b/libffi/testsuite/libffi.call/nested_struct9.c index b936d16d1e4..70332de890b 100644 --- a/libffi/testsuite/libffi.call/nested_struct9.c +++ b/libffi/testsuite/libffi.call/nested_struct9.c @@ -6,7 +6,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20051010 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct A { @@ -103,7 +103,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/problem1.c b/libffi/testsuite/libffi.call/problem1.c index 6a5c8ab3181..ca70cc8d773 100644 --- a/libffi/testsuite/libffi.call/problem1.c +++ b/libffi/testsuite/libffi.call/problem1.c @@ -4,7 +4,7 @@ PR: none. Originator: <andreast@gcc.gnu.org> 20030828 */ -/* { dg-do run { xfail mips64*-*-* } } */ +/* { dg-do run } */ #include "ffitest.h" typedef struct my_ffi_struct { diff --git a/libffi/testsuite/libffi.call/return_dbl1.c b/libffi/testsuite/libffi.call/return_dbl1.c index a6c1cfca2da..0ea5d50551a 100644 --- a/libffi/testsuite/libffi.call/return_dbl1.c +++ b/libffi/testsuite/libffi.call/return_dbl1.c @@ -21,7 +21,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/return_dbl2.c b/libffi/testsuite/libffi.call/return_dbl2.c index 51af3bad8ca..b3818f866b5 100644 --- a/libffi/testsuite/libffi.call/return_dbl2.c +++ b/libffi/testsuite/libffi.call/return_dbl2.c @@ -20,7 +20,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/return_fl3.c b/libffi/testsuite/libffi.call/return_fl3.c index c3d2f120380..c37877b18ec 100644 --- a/libffi/testsuite/libffi.call/return_fl3.c +++ b/libffi/testsuite/libffi.call/return_fl3.c @@ -20,7 +20,7 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/return_ldl.c b/libffi/testsuite/libffi.call/return_ldl.c new file mode 100644 index 00000000000..413bf94a67d --- /dev/null +++ b/libffi/testsuite/libffi.call/return_ldl.c @@ -0,0 +1,34 @@ +/* Area: ffi_call + Purpose: Check return value long double. + Limitations: none. + PR: none. + Originator: <andreast@gcc.gnu.org> 20071113 */ + +/* { dg-do run } */ +#include "ffitest.h" + +static long double return_ldl(long double ldl) +{ + return 2*ldl; +} +int main (void) +{ + ffi_cif cif; + ffi_type *args[MAX_ARGS]; + void *values[MAX_ARGS]; + long double ldl, rldl; + + args[0] = &ffi_type_longdouble; + values[0] = &ldl; + + /* Initialize the cif */ + CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, + &ffi_type_longdouble, args) == FFI_OK); + + for (ldl = -127.0; ldl < 127.0; ldl++) + { + ffi_call(&cif, FFI_FN(return_ldl), &rldl, values); + CHECK(rldl == 2 * ldl); + } + exit(0); +} diff --git a/libffi/testsuite/libffi.call/return_ll1.c b/libffi/testsuite/libffi.call/return_ll1.c index 32fdfa122ff..5681d84b407 100644 --- a/libffi/testsuite/libffi.call/return_ll1.c +++ b/libffi/testsuite/libffi.call/return_ll1.c @@ -20,9 +20,9 @@ int main (void) 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; diff --git a/libffi/testsuite/libffi.call/return_sc.c b/libffi/testsuite/libffi.call/return_sc.c index ddb26778695..19608ee7c8b 100644 --- a/libffi/testsuite/libffi.call/return_sc.c +++ b/libffi/testsuite/libffi.call/return_sc.c @@ -30,7 +30,7 @@ int main (void) sc < (signed char) 127; sc++) { ffi_call(&cif, FFI_FN(return_sc), &rint, values); - CHECK((signed char) rint == sc); + CHECK(rint == (ffi_arg) sc); } exit(0); } diff --git a/libffi/testsuite/libffi.call/return_sl.c b/libffi/testsuite/libffi.call/return_sl.c new file mode 100644 index 00000000000..f0fd345f7a8 --- /dev/null +++ b/libffi/testsuite/libffi.call/return_sl.c @@ -0,0 +1,38 @@ +/* Area: ffi_call + Purpose: Check if long as return type is handled correctly. + Limitations: none. + PR: none. + */ + +/* { dg-do run } */ +#include "ffitest.h" +static long return_sl(long l1, long l2) +{ + return l1 - l2; +} + +int main (void) +{ + ffi_cif cif; + ffi_type *args[MAX_ARGS]; + void *values[MAX_ARGS]; + ffi_arg res; + unsigned long l1, l2; + + args[0] = &ffi_type_slong; + args[1] = &ffi_type_slong; + values[0] = &l1; + values[1] = &l2; + + CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, + &ffi_type_slong, args) == FFI_OK); + + l1 = 1073741823L; + l2 = 1073741824L; + + ffi_call(&cif, FFI_FN(return_sl), &res, values); + printf("res: %ld, %ld\n", (long)res, l1 - l2); + /* { dg-output "res: -1, -1" } */ + + exit(0); +} diff --git a/libffi/testsuite/libffi.call/return_ul.c b/libffi/testsuite/libffi.call/return_ul.c index 25102240bc8..12b266f0373 100644 --- a/libffi/testsuite/libffi.call/return_ul.c +++ b/libffi/testsuite/libffi.call/return_ul.c @@ -16,7 +16,7 @@ int main (void) ffi_cif cif; ffi_type *args[MAX_ARGS]; void *values[MAX_ARGS]; - unsigned long res; + ffi_arg res; unsigned long ul1, ul2; args[0] = &ffi_type_ulong; @@ -31,7 +31,7 @@ int main (void) ul2 = 1073741824L; ffi_call(&cif, FFI_FN(return_ul), &res, values); - printf("res: %ld, %ld\n", res, ul1 + ul2); + printf("res: %lu, %lu\n", (unsigned long)res, ul1 + ul2); /* { dg-output "res: 2147483647, 2147483647" } */ exit(0); |