Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/constexpr-virtual6.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++/70393 // { dg-do run { target c++11 } } /* 'ab' has a static initializer, but we flubbed the initializer, because of B being the primary base. */ struct A { int a = 1; }; struct B { B *element = (B*)2; virtual int vfunc() = 0; int call_element() { return element->vfunc(); } void set_element() { element = this; } }; struct AB : public A, public B { int vfunc() { return 0; } }; static AB ab; int main() { if (ab.a != 1) return 1; if (ab.element != (void*)2) return 2; ab.set_element(); return ab.call_element(); }