1 /* { dg-do compile } */
2 /* { dg-options "-O2 -Wall" } */
5 unsigned long f(struct g *a) { return *(unsigned long *)&a->a; }
12 int g(const struct A *x, long *y)
14 typedef long __attribute__ ((may_alias)) long_a;
15 *y = *(const long_a *) (&x->a);
24 *y = *(const long *) &a; /* { dg-warning "will break" } */
31 typedef long __attribute__ ((may_alias)) long_a;
32 *y = *(const long_a *) &a;
39 *y = *(const long *) &a; /* { dg-warning "will break" } */