rt_gccstream/gcc/testsuite/g++.dg/other/const2.C

23 lines
379 B
C

// PR c++/3331: just because 'this' is readonly and bars[0].b is readonly
// doesn't mean that the result of the member reference is readonly.
struct foo
{
int a;
struct bar
{ int foo::* b ;};
static const bar bars[];
void bad ()
{
this->*(bars[0].b) = 42; // { dg-bogus "read-only" "" }
}
};
const foo::bar foo::bars[] = { { &foo::a } };
int main ()
{ }