/* { dg-do run } */ /* { dg-options "-flto -flto-partition=none -fipa-dead-field-eliminate -fdump-ipa-structure-reorg -fipa-typelist-field=b -fipa-typelist-struct=astruct_s" } */ #include #include #include int main () { // unmodified a = 0, d = 1; e = 2; f = 3; b = 4; c = 8 // modified a = 0, d = 1, e = 2, f = 3, c = 4; struct astruct_s { _Bool a; _Bool d; _Bool e; _Bool f; _Bool b; int c; }; struct astruct_s astruct; struct astruct_s *p = &astruct; _Bool *a = &(p->a); _Bool *c = (_Bool *) &(p->c); ptrdiff_t d = c - a; assert (d == 4); }