/* PR middle-end/91001 */ /* PR middle-end/91105 */ /* PR middle-end/91106 */ struct __attribute__((packed)) S { short b; char c; }; struct T { short b, c, d; }; struct __attribute__((packed)) R { int b; char c; }; union __attribute__((aligned(128), transparent_union)) U { struct S c; } u; union __attribute__((aligned(32), transparent_union)) V { struct T c; } v; union __attribute__((aligned(32), transparent_union)) W { struct R c; } w; void foo (union U); void bar (union V); void baz (union W); void qux (void) { foo (u); } void quux (void) { bar (v); } void corge (void) { baz (w); }