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