// PR c++/16929 template class A { int x; }; template class B { protected: A a; // { dg-error "" } void f(const A * a1 = &a); void g(void); }; template void B::g(void) { f(); // { dg-error "" } } template class B; // { dg-error "" }