struct A
{
virtual ~A() { f(); }
virtual void f() = 0;
};
void A::f() {} // BODY
struct B : A
{
void f() {}
};
int main()
{
delete new B;
}
c3RydWN0IEEKewogICAgdmlydHVhbCB+QSgpIHsgZigpOyB9CgogICAgdmlydHVhbCB2b2lkIGYoKSA9IDA7Cn07Cgp2b2lkIEE6OmYoKSB7fSAvLyBCT0RZCgpzdHJ1Y3QgQiA6IEEKewogICAgdm9pZCBmKCkge30KfTsKCmludCBtYWluKCkKewogICAgZGVsZXRlIG5ldyBCOwp9