// { dg-do assemble } typedef int I; int i; template class B { A a; public: B(A&aa); B(); ~B(); }; template class C { public: B b; }; template class D : I { public: i ii; }; typedef B b_int; typedef C c_int; typedef C c_b_int2; c_b_int2 x2; int z; D d; int q;