1 /* PR c/51628. */ 2 /* { dg-do compile } */ 3 /* { dg-options "-O" } */ 4 5 struct pair_t 6 { 7 int x; 8 int i[4]; 9 } __attribute__((packed, aligned (4))); 10 11 extern struct pair_t p; 12 extern int *x; 13 extern void bar (int *); 14 15 int *addr = p.i; 16 17 int * foo(struct pair_t * p)18foo (struct pair_t *p) 19 { 20 int *p0, *p1; 21 p0 = p->i; 22 bar (p0); 23 p1 = &p->i[1]; 24 bar (p1); 25 bar (p->i); 26 bar (&p->i[2]); 27 x = p->i; 28 return &p->i[3]; 29 } 30