view gcc/testsuite/g++.dg/other/const2.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// 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 ()
{ }