1 // PR c++/16929
2 
3 template <class T>
4 class A {
5   int x;
6 };
7 
8 template <class T>
9 class B {
10 protected:
11 
12   A<T> a; // { dg-message "" }
13 
14   void f(const A<T> * a1 = &a); // { dg-error "non-static" }
15 
16   void g(void);
17 };
18 
19 template <class T>
g(void)20 void B<T>::g(void) {
21   f();
22 }
23 
24 template class B<long>;
25