1// { dg-do assemble } 2// { dg-options "-fpermissive" } 3 4template <class T> 5struct B 6{ 7 typedef int I; 8}; 9 10 11template <class T> 12struct D : public B<T> 13{ 14 void f(); 15}; 16 17 18template <class T> 19void D<T>::f() 20{ 21 I(); // { dg-warning "" } 22} 23 24 25template <> 26struct B<int> 27{ 28 void I(); 29}; 30 31 32int main() 33{ 34 D<int> di; 35 di.f(); 36} 37