1// { dg-do assemble } 2 3typedef int I; 4int i; 5 6template <class A> class B { 7 A a; 8 public: 9 B(A&aa); 10 B(); 11 ~B(); 12}; 13 14template <class B> class C { public: B b; }; 15 16template <class I, class i> class D : I { public: i ii; }; 17 18typedef B<int> b_int; 19typedef C<int> c_int; 20typedef C<b_int> c_b_int2; 21 22c_b_int2 x2; 23int z; 24D<c_b_int2,b_int> d; 25int q; 26