1// { dg-do assemble  }
2// PRMS Id: 5420
3// Bug: g++ gets mixed up calling destructors for references.
4
5template<class X>
6class Z {
7public:
8    char space[100];
9    void kill()
10	{ X& x = (X&) space[0];
11	  x.~X(); }
12};
13
14class C { int i; };
15
16void
17f()
18{
19    Z<int> r;
20    r.kill();
21    Z<C> s;
22    s.kill();
23}
24