// { dg-do assemble } // GROUPS passed templates destructors // Example of PR 3308 workaround template class A { T q; public: ~A() { (&q)->T::~T(); } }; typedef unsigned int ui; int main() { A *ap = new A; delete ap; }