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