From 062a1b36f7e45772a7819643852f5df8a688a060 Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Tue, 6 Aug 2013 19:33:59 +0200 Subject: [PATCH] pr58041.c (foo): Accept z by reference. 2013-08-06 Martin Jambor Bernd Edlinger testsuite/ * gcc.dg/torture/pr58041.c (foo): Accept z by reference. (a): Fix constructor. Co-Authored-By: Bernd Edlinger From-SVN: r201538 --- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gcc.dg/torture/pr58041.c | 14 ++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c81ec3f..84cf238 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,4 +1,10 @@ 2013-08-06 Martin Jambor + Bernd Edlinger + + * gcc.dg/torture/pr58041.c (foo): Accept z by reference. + (a): Fix constructor. + +2013-08-06 Martin Jambor PR fortran/57987 * gfortran.dg/pr57987.f90: New test. diff --git a/gcc/testsuite/gcc.dg/torture/pr58041.c b/gcc/testsuite/gcc.dg/torture/pr58041.c index e22ec3c..169a71a 100644 --- a/gcc/testsuite/gcc.dg/torture/pr58041.c +++ b/gcc/testsuite/gcc.dg/torture/pr58041.c @@ -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; } -- 2.7.4