1// { dg-do assemble  }
2// { dg-options "" }
3// Test for implicit typename
4
5template <class T>
6struct A {
7protected:
8  typedef struct B { } B;
9};
10
11template <class T>
12struct C { };
13
14template <class T>
15struct D : public A <C <T> > {
16  void f ()
17    {
18      B* new_entries = (B *) 0;  // { dg-error "'B' was not declared in this scope" "B" }
19      // { dg-error "'new_entries' was not declared in this scope" "new_entries" { target *-*-* } 18 }
20      // { dg-error "expected" "exp" { target *-*-* } 18 }
21    }
22};
23