| /* PR c/51628. */ | |
| /* { dg-do compile } */ | |
| /* { dg-options "-O" } */ | |
| void foo (int *); | |
| int * | |
| bar (int n, int k, void *ptr) | |
| { | |
| struct A | |
| { | |
| int c[k]; | |
| int x[n]; | |
| } __attribute__ ((packed, aligned (4))); | |
| struct A *p = (struct A *) ptr; | |
| int *p0, *p1; | |
| p0 = p->x; | |
| foo (p0); | |
| p1 = &p->x[1]; | |
| foo (p1); | |
| return &p->x[1]; | |
| } |