// { dg-do assemble } | |
// Make sure definitions of static members have the right access. | |
struct A { | |
protected: | |
int i; // { dg-message "" } private | |
int f (); // { dg-message "" } | |
}; | |
struct B: public A { | |
static int A::*p; | |
static int (A::*fp)(); | |
}; | |
int A::* B::p = &A::i; // { dg-error "" } | |
int (A::* B::fp)() = &A::f; // { dg-error "" } | |
struct C { | |
static int A::*p; | |
static int (A::*fp)(); | |
}; | |
int A::* C::p = &A::i; // { dg-error "" } | |
int (A::* C::fp)() = &A::f; // { dg-error "" } |