1// { dg-do assemble } 2// Exhaustive test for destructors of simple types. 3// PRMS Id: 2744, 3308 4 5template <class T> class A { 6 T q; 7public: 8 ~A() { 9 q.T::~T(); 10 q.~T(); 11 (&q)->T::~T(); 12 (&q)->~T(); 13 } 14}; 15 16typedef char * cp; 17typedef int I; 18 19int main () 20{ 21 A<int> a; 22 A<cp> b; 23 int i; 24 cp c; 25 26 i.~I(); 27 i.I::~I(); 28 (&i)->~I(); 29 (&i)->I::~I(); 30 c.~cp(); 31 c.cp::~cp(); 32 (&c)->~cp(); 33 (&c)->cp::~cp(); 34} 35