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