// { dg-do run } | |
// Origin: Mark Mitchell <mark@codesourcery.com> | |
extern "C" void abort (); | |
struct B; | |
struct S | |
{ | |
S (B*); | |
~S (); | |
B* b_; | |
}; | |
struct B | |
{ | |
B () : s (this) { } | |
virtual void f () { } | |
S s; | |
}; | |
S::S (B* b) : b_ (b) { } | |
S::~S () { b_->f (); } | |
struct D : public B | |
{ | |
virtual void f () { abort (); } | |
}; | |
int main () | |
{ | |
D d; | |
} |