1 // { dg-do run  }
2 typedef __SIZE_TYPE__ size_t;
3 
4 template <class T>
5 struct A
6 {
7   int size;
AA8   A ()
9     {
10       size = 20;
11       T *p;
12       p = new T[size];
13       int foo;
14       foo = 5 * size;
15     }
16 };
17 
18 struct B
19 {
~BB20   virtual ~B() { }
21   void operator delete [] (void *ptr, size_t size) { }
22 };
23 
main()24 int main ()
25 {
26   A<B> *p = new A<B>;
27 }
28