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)16qux (void) 17 { 18 foo (u); 19 } 20 21 void quux(void)22quux (void) 23 { 24 bar (v); 25 } 26 27 void corge(void)28corge (void) 29 { 30 baz (w); 31 } 32