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  A_Type Func(); // { dg-error "does not name a type" "err" } implicit typename
15  // { dg-message "note" "note" { target *-*-* } 14 }
16};
17
18
19template <class U>
20B<U>::A_Type B<U>::Func() { // { dg-error "typename" } implicit typename
21}			    // { dg-error "expected" }
22