1// PR c++/16929
2
3template <class T>
4class A {
5  int x;
6};
7
8template <class T>
9class B {
10protected:
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
19template <class T>
20void B<T>::g(void) {
21  f(); // { dg-error "default argument" }
22}
23
24template class B<long>;
25