1 // PR c++/52582
2 // { dg-do compile }
3 // { dg-options "-O2" }
4 
new(__SIZE_TYPE__,void * p)5 inline void *operator new (__SIZE_TYPE__, void *p) throw ()
6 {
7   return p;
8 }
9 
10 struct B
11 {
12   virtual ~B ();
13   B ();
14 };
15 
16 struct A : B
17 {
AA18   A () : B () {}
19   virtual void bar ();
20 };
21 
22 void
foo()23 foo ()
24 {
25   char a[64];
26   B *b = new (&a) A ();
27   b->~B ();
28 }
29