// { dg-do run } | |
// prms-id: 10849 | |
struct A | |
{ | |
int comm; | |
A(int i) : comm(i) { } | |
}; | |
struct S1 { char c1; }; | |
struct B : public S1, public A | |
{ | |
B(int i) : A(i) { } | |
}; | |
struct C : public A | |
{ | |
C(int i) : A(i) { } | |
}; | |
struct D : public B, public C | |
{ | |
virtual int g() { | |
int D::*pmd = (int C::*)&C::comm; | |
return (this->*pmd) == 42; | |
} | |
D() : B(41), C(42) { } | |
} d; | |
int main() { | |
if (! d.g()) | |
return 1; | |
} |