summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/other/const2.C
blob: 86dde1e4559c10d367a7691b4f7a9db9a685fcf8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 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 ()
{ }