1 /* PR middle-end/91001 */
2 /* PR middle-end/91105 */
3 /* PR middle-end/91106 */
4 
5 struct __attribute__((packed)) S { short b; char c; };
6 struct T { short b, c, d; };
7 struct __attribute__((packed)) R { int b; char c; };
8 union __attribute__((aligned(128), transparent_union)) U { struct S c; } u;
9 union __attribute__((aligned(32), transparent_union)) V { struct T c; } v;
10 union __attribute__((aligned(32), transparent_union)) W { struct R c; } w;
11 void foo (union U);
12 void bar (union V);
13 void baz (union W);
14 
15 void
qux(void)16 qux (void)
17 {
18   foo (u);
19 }
20 
21 void
quux(void)22 quux (void)
23 {
24   bar (v);
25 }
26 
27 void
corge(void)28 corge (void)
29 {
30   baz (w);
31 }
32