Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/g++.dg/other/const2.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/g++.dg/other/const2.C Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,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 () +{ }