1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// PR c++/70386 // { dg-options "-Wall" } struct A { void f () {} }; struct B : public A {}; struct C : public A {}; struct D : public B, public C {}; typedef void (C::*cp) (); typedef void (D::*dp) (); int main () { cp c = &A::f; dp d = c; return (cp () == d); }