1// Exhaustive test for destructors of simple types.
2// PRMS Id: 2744, 3308
3// Build don't link:
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;
17
18int main ()
19{
20  A<int> a;
21  A<cp> b;
22  int i;
23  cp c;
24
25  i.~int();
26  i.int::~int();
27  (&i)->~int();
28  (&i)->int::~int();
29  c.~cp();
30  c.cp::~cp();
31  (&c)->~cp();
32  (&c)->cp::~cp();
33}
34