// { dg-do run } // { dg-options "" } // prms-id: 10148 int fail = 1; void ok() { fail = 0; } class TC { int s_; }; class TIRD { public: void (*itc)(); TIRD() { itc = ok; } }; class TCCB : public TC, public TIRD { }; class TCRCB : public TCCB { public: virtual void eat (); }; void TCRCB::eat () { void *vp = (void *)((TIRD*)this)->itc; this->itc(); } int main() { TCRCB a; a.eat(); return fail; }