http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34949



--- Comment #29 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-04-04 
08:25:08 UTC ---

Reduced testcase for -O3:



struct E {};

struct A

{

  virtual void a (void *) = 0;

};

struct B

{

  virtual ~B () {};

  unsigned int b1;

  E **b2;

  A *b3;

};

struct C : public B

{

  ~C ();

};

C::~C ()

{

  for (unsigned int i = 0; i < b1; i++)

    b3->a (b2);

}

struct D

{

  ~D () {}

  C d;

};

struct F { virtual ~F () {}; };

struct G { void g (); };

struct H : public F

{

  virtual ~H ();

  D *h1;

  G *h2;

};

H::~H ()

{

  h2->g ();

  delete h1;

}

Reply via email to