// { dg-do run } typedef __SIZE_TYPE__ size_t; template <class T> struct A { int size; A () { size = 20; T *p; p = new T[size]; int foo; foo = 5 * size; }; }; struct B { virtual ~B() { } void operator delete [] (void *ptr, size_t size) { } }; int main () { A<B> *p = new A<B>; }