// { dg-do assemble } | |
// GROUPS passed visibility | |
extern "C" int printf( const char *, ...); | |
class B { | |
public: | |
B() { } | |
virtual ~B() { printf( "B::~B\n"); } | |
}; | |
class D : public B { | |
public: | |
virtual ~D() { printf( "D::~D\n"); } | |
void operator = ( int i) { this->~B(); } | |
}; | |
int | |
main() | |
{ | |
D * pd = new D; | |
B * pb = pd; | |
delete pb; | |
return 0; | |
} |