1// { dg-do assemble } 2// GROUPS passed templates 3template<class T> 4class L { 5public: 6 L(); 7 8 T x[30]; 9 int doit(int i) const; 10}; 11 12#ifdef BUG 13template<class T> 14int 15L<T>::doit(int i) const 16{ 17 return x[i].z; 18} 19#endif 20 21class X { 22public: 23 class Y { 24 public: 25 Y(); 26 Y(int); 27 28 int z; 29 }; 30 31 L<Y> ly; 32}; 33 34#ifndef BUG 35template<class T> 36int 37L<T>::doit(int i) const 38{ 39 return x[i].z; 40} 41#endif 42 43static X x; 44