]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2013-08-06 Martin Jambor <mjambor@suse.cz>
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Aug 2013 17:33:59 +0000 (17:33 +0000)
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Aug 2013 17:33:59 +0000 (17:33 +0000)
    Bernd Edlinger <bernd.edlinger@hotmail.de>

testsuite/
* gcc.dg/torture/pr58041.c (foo): Accept z by reference.
(a): Fix constructor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201538 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr58041.c

index c81ec3f9199379b7a21738cef16a00adb342ff92..84cf238eee3ea6fe07e5dc23adcba90b8b9dc7d8 100644 (file)
@@ -1,3 +1,9 @@
+2013-08-06  Martin Jambor  <mjambor@suse.cz>
+           Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+       * gcc.dg/torture/pr58041.c (foo): Accept z by reference.
+       (a): Fix constructor.
+
 2013-08-06  Martin Jambor  <mjambor@suse.cz>
 
        PR fortran/57987
index e22ec3c86ab2dba2434a75854d34ea16b91817cb..169a71ae7e454f0094fbc0420d069bf9b06d53be 100644 (file)
@@ -3,8 +3,6 @@
 typedef long long V
   __attribute__ ((vector_size (2 * sizeof (long long)), may_alias));
 
-typedef struct S { V v; } P __attribute__((aligned (1)));
-
 struct s
 {
   char u;
@@ -12,24 +10,24 @@ struct s
 } __attribute__((packed,aligned(1)));
 
 __attribute__((noinline, noclone))
-long long foo(struct s *x, int y, V z)
+long long foo(struct s *x, int y, V *z)
 {
   V a = x->v[y];
-  x->v[y] = z;
+  x->v[y] = *z;
   return a[1];
 }
 
-struct s a = {0,{0,0}};
+struct s a = {0,{{0,0},{0,0}}};
 int main()
 {
   V v1 = {0,1};
   V v2 = {0,2};
 
-  if (foo(&a,0,v1) != 0)
+  if (foo(&a,0,&v1) != 0)
     __builtin_abort();
-  if (foo(&a,0,v2) != 1)
+  if (foo(&a,0,&v2) != 1)
     __builtin_abort();
-  if (foo(&a,1,v1) != 0)
+  if (foo(&a,1,&v1) != 0)
     __builtin_abort();
   return 0;
 }