1 extern void abort (void);
3 struct S
{ int i
; int j
; };
4 struct X
{ struct S s
; int k
; };
5 struct Y
{ int k
; struct S s
; };
6 union U
{ struct X x
; struct Y y
; } __attribute__((may_alias
));
8 int __attribute__((noinline
))
9 foo (union U
*p
, union U
*q
)
16 struct R
{ int i
; int j
; } __attribute__((may_alias
));
18 int __attribute__((noinline
))
19 bar (struct R
*p
, struct R
*q
)
29 if (foo ((union U
*)&a
[0], (union U
*)&a
[0]) != 0)
31 if (bar ((struct R
*)&a
[1], (struct R
*)&a
[0]) != 0)