1// { dg-do assemble  }
2// Make sure definitions of static members have the right access.
3
4struct A {
5protected:
6  int i;                        // { dg-error "" } private
7  int f ();			// { dg-error "" }
8};
9
10struct B: public A {
11  static int A::*p;
12  static int (A::*fp)();
13};
14
15int A::* B::p = &A::i;         // { dg-error "" }
16int (A::* B::fp)() = &A::f;    // { dg-error "" }
17
18struct C {
19  static int A::*p;
20  static int (A::*fp)();
21};
22
23int A::* C::p = &A::i;		// { dg-error "" }
24int (A::* C::fp)() = &A::f;	// { dg-error "" }
25