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