/* { dg-do run } */ /* { dg-options "-flto -fipa-type-escape-analysis -fdump-ipa-type-escape-analysis " } */ #include int main () { struct astruct_s { _Bool a; _Bool b; _Bool c; }; struct astruct_s b[2]; _Bool *a_0_ptr = &(b[0].a); _Bool *c_0_ptr = &(b[0].c); _Bool *a_1_ptr = &(b[1].a); _Bool *c_0_ptr_from_a_0_ptr = a_0_ptr + 1; _Bool *c_0_ptr_from_a_1_ptr = a_1_ptr - 1; assert(c_0_ptr_from_a_0_ptr == c_0_ptr); assert(c_0_ptr_from_a_1_ptr == c_0_ptr); }