blob: 26aab9b6a50a88a6ef71aca342fd6da26c07fc2e [file] [log] [blame]
// PR c++/89285
// { dg-do compile { target c++14 } }
struct A {
int a {};
};
struct B {
int b {};
constexpr B (A *x) {
int *c = &x->a;
while (*c)
c = reinterpret_cast<int *>((reinterpret_cast<char *>(c) + *c));
*c = reinterpret_cast<char *>(this) - reinterpret_cast<char *>(c); // { dg-error "reinterpret_cast" }
}
};
struct C : A {
B bar {this};
};
constexpr C foo {}; // { dg-message "" }