1 /* PR middle-end/52419 */ 2 /* { dg-do run } */ 3 4 extern void abort (void); 5 6 typedef long long V 7 __attribute__ ((vector_size (2 * sizeof (long long)), may_alias)); 8 9 typedef struct S { V b; } P __attribute__((aligned (1))); 10 11 struct __attribute__((packed)) T { char c; P s; }; 12 13 __attribute__((noinline, noclone)) void foo(P * p)14foo (P *p) 15 { 16 p->b[1] = 5; 17 } 18 19 int main()20main () 21 { 22 V a = { 3, 4 }; 23 struct T t; 24 25 t.s.b = a; 26 foo (&t.s); 27 28 if (t.s.b[0] != 3 || t.s.b[1] != 5) 29 abort (); 30 31 return 0; 32 } 33