http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56033



--- Comment #7 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2013-04-22 
14:22:15 UTC ---

Following the recipe in comment #5, the following patch



diff -up /opt/gcc/_gcc_clean/libffi/testsuite/libffi.call/cls_struct_va1.c

/opt/gcc/work/libffi/testsuite/libffi.call/cls_struct_va1.c

--- /opt/gcc/_gcc_clean/libffi/testsuite/libffi.call/cls_struct_va1.c   

2013-01-05 19:58:34.000000000 +0100

+++ /opt/gcc/work/libffi/testsuite/libffi.call/cls_struct_va1.c    2013-04-22

15:16:30.000000000 +0200

@@ -35,7 +35,7 @@ test_fn (ffi_cif* cif __UNUSED__, void* 

   printf ("%d %d %d %d %d %d %d %d %d %d\n", n, s1.a, s1.b,

       l1.a, l1.b, l1.c, l1.d, l1.e,

       s2.a, s2.b);

-  * (int*) resp = 42;

+  * (ffi_arg*) resp = 42;

 }



 int

diff -up /opt/gcc/_gcc_clean/libffi/testsuite/libffi.call/va_1.c

/opt/gcc/work/libffi/testsuite/libffi.call/va_1.c

--- /opt/gcc/_gcc_clean/libffi/testsuite/libffi.call/va_1.c    2013-01-17

19:52:24.000000000 +0100

+++ /opt/gcc/work/libffi/testsuite/libffi.call/va_1.c    2013-04-22

15:27:35.000000000 +0200

@@ -94,7 +94,7 @@ main (void)

   struct large_tag l1;



   int n;

-  int res;

+  ffi_arg res;



   unsigned char uc;

   signed char sc;

diff -up /opt/gcc/_gcc_clean/libffi/testsuite/libffi.call/va_struct1.c

/opt/gcc/work/libffi/testsuite/libffi.call/va_struct1.c

--- /opt/gcc/_gcc_clean/libffi/testsuite/libffi.call/va_struct1.c    2013-01-05

19:58:34.000000000 +0100

+++ /opt/gcc/work/libffi/testsuite/libffi.call/va_struct1.c    2013-04-22

15:26:27.000000000 +0200

@@ -61,7 +61,7 @@ main (void)

   struct large_tag l1;



   int n;

-  int res;

+  ffi_arg res;



   s_type.size = 0;

   s_type.alignment = 0;



fixes the corresponding failures. Note that I did not find how to apply the

recipe to libffi.call/cls_uint_va.c.

Reply via email to