// PR c++/50243 | |
// { dg-do compile } | |
// { dg-options "-O" } | |
// { dg-add-options bind_pic_locally } | |
// { dg-final { scan-assembler-not "_ZTV.A" } } | |
void foo (); | |
struct A | |
{ | |
~A () { } | |
virtual void a () = 0; | |
virtual void b () = 0; | |
virtual void c () = 0; | |
}; | |
struct B : public A | |
{ | |
~B () { foo (); } | |
void a () { foo (); } | |
void b () { foo (); } | |
void c () { delete this; } | |
}; | |
void | |
test () | |
{ | |
A *y = new B (); | |
y->a (); | |
y->b (); | |
y->c (); | |
} |