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