1 // PR middle-end/96194
2 // { dg-do compile }
3 // { dg-options "-O2" }
4 
5 #include <new>
6 
7 struct A { ~A (); };
8 struct B : A { float e[64]; };
9 
10 B *
foo()11 foo ()
12 {
13   return new ((void *) 0) B ();
14 }
15 
16 B *
bar(void * x,bool y)17 bar (void *x, bool y)
18 {
19   void *p = y ? x : (void *) 0;
20   return new (p) B ();
21 }
22