blob: dc847cc16e54935e740a1cec60f79b2de11b3a8e [file] [log] [blame]
// PR c++/80431
// { dg-do run { target c++11 } }
// A variant of nsdmi-virtual1.C where A is only a morally virtual base of B.
struct A
{
A(): i(42) { }
int i;
int f() { return i; }
};
struct D : A { int pad; };
struct B : virtual D
{
int j = i + f();
int k = A::i + A::f();
};
struct C: B { int pad; };
int main()
{
C c;
if (c.j != 84 || c.k != 84)
__builtin_abort();
}