36 lines
423 B
C
36 lines
423 B
C
// { 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;
|
|
}
|