pr58041.c (foo): Accept z by reference.
2013-08-06 Martin Jambor <mjambor@suse.cz> Bernd Edlinger <bernd.edlinger@hotmail.de> testsuite/ * gcc.dg/torture/pr58041.c (foo): Accept z by reference. (a): Fix constructor. Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de> From-SVN: r201538
This commit is contained in:
parent
a2e2a66815
commit
062a1b36f7
2 changed files with 12 additions and 8 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue