Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/inherit/covariant17.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++/43120 // { dg-do run } extern "C" void abort (); struct A { int a; A(int a_) : a(a_) {} A(const A &other) { } virtual void dummy() {} }; struct B { virtual B *clone() const = 0; }; struct C : public virtual B { virtual C *clone() const = 0; }; struct E* ep; struct E : public A, public C { E(int a_) : A(a_) { ep = this; } virtual E *clone() const { if (this != ep) abort(); return 0; } }; int main() { E *a = new E(123); C *c = a; B *b = a; c->clone(); b->clone(); delete a; return 0; }