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" } */