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()17f() 18 { 19 Z<int> r; 20 r.kill(); 21 Z<C> s; 22 s.kill(); 23 } 24