1254721Semaste// { dg-do assemble  }
2254721Semaste// { dg-options "" }
3254721Semaste// Test for implicit typename
4254721Semaste
5254721Semastetemplate <class T>
6254721Semastestruct A {
7254721Semasteprotected:
8254721Semaste  typedef struct B { } B;
9254721Semaste};
10254721Semaste
11254721Semastetemplate <class T>
12254721Semastestruct C { };
13254721Semaste
14254721Semastetemplate <class T>
15254721Semastestruct D : public A <C <T> > {
16254721Semaste  void f ()
17254721Semaste    {
18254721Semaste      B* new_entries = (B *) 0;  // { dg-error "'B' was not declared in this scope" "B" }
19254721Semaste      // { dg-error "'new_entries' was not declared in this scope" "new_entries" { target *-*-* } 18 }
20254721Semaste      // { dg-error "expected" "exp" { target *-*-* } 18 }
21254721Semaste    }
22254721Semaste};
23254721Semaste