// { dg-do assemble } template<int N_length> struct B { B(); ~B(); }; template<class P, int N> struct D { D(int r0); D(B<N-1> &, int); }; template<class T> void func() { D<T,1> tmp; }