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