1 // PR c++/89285 2 // { dg-do compile { target c++14 } } 3 4 struct A { 5 int a {}; 6 }; 7 struct B { 8 int b {}; BB9 constexpr B (A *x) { 10 int *c = &x->a; 11 while (*c) 12 c = reinterpret_cast<int *>((reinterpret_cast<char *>(c) + *c)); 13 *c = reinterpret_cast<char *>(this) - reinterpret_cast<char *>(c); 14 } 15 }; 16 struct C : A { 17 B bar {this}; 18 }; 19 20 C foo {}; 21