1 // { dg-do assemble  }
2 // { dg-options "-Wno-deprecated" }
3 
4 template <class T>
5 struct A
6 {
7   typedef T A_Type;
8 };
9 
10 
11 template <class U>
12 struct B : public A<U>
13 {
14 };
15 
16 
17 template <class U>
18 struct C : public B<U>
19 {
20   void Func(A_Type);  // { dg-warning "" } implicit typename
21 };
22 
23 
24 template <class U>
Func(A_Type)25 void C<U>::Func(A_Type) { // { dg-warning "" } implicit typename
26 }
27