OSDN Git Service

5bd51fbdd4882da1563d2b7754e45d6a70c23eb2
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / torture / pr52402.c
1 /* { dg-do run } */
2
3 typedef int v4si __attribute__((vector_size(16)));
4 struct T { v4si i[2]; int j; } __attribute__((packed));
5
6 static v4si __attribute__((noinline))
7 foo (struct T t)
8 {
9   return t.i[0];
10 }
11
12 static struct T *__attribute__((noinline))
13 init ()
14 {
15   char *p = __builtin_malloc (sizeof (struct T) + 1);
16   p++;
17   __builtin_memset (p, 1, sizeof (struct T));
18   return (struct T *)p;
19 }
20
21 int main()
22 {
23   struct T *p;
24   p = init ();
25   if (foo (*p)[0] != 0x01010101)
26     __builtin_abort ();
27   return 0;
28 }