1 // { dg-do assemble } 2 // GROUPS passed templates destructors 3 // Example of PR 3308 workaround 4 5 template <class T> 6 class A 7 { 8 T q; 9 public: ~A()10 ~A() { (&q)->T::~T(); } 11 }; 12 13 typedef unsigned int ui; 14 main()15 int main() 16 { 17 A<ui> *ap = new A<ui>; 18 19 delete ap; 20 } 21