view gcc/testsuite/g++.old-deja/g++.mike/p12306a.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line source

// { dg-do run  }
// prms-id: 12306
// a net report of the same problem as 12306

class a {
public:
    int i;
};

class g : virtual public a {
};

class b : virtual public a {
    int j;
};

class c : public g, public b {
};

class d {
public:
    virtual class b* get() {return 0;}
};

class f : public d {
public:
    virtual class b* get() {return &_c;}
    c _c;
};

int main(void) {
    f D;
    b* bp=D.get();
    D._c.i = 42;
    return &D._c.i != &bp->i;
}