blob: b16c0b47ba0d34d30b5d06c9ff80bd5ae4af5768 [file] [log] [blame]
// { dg-do run { target c++11 } }
int a_ct;
struct A
{
A(int i): i(i) { ++a_ct; }
A(const A& a): i(a.i) { ++a_ct; }
~A() { --a_ct; }
int i;
};
struct V
{
V() { }
};
struct B: virtual V
{
A a;
B(A a): a(a) { }
B(int i): B(A(i)) { }
};
struct C: B
{
C(int i): B(i) { }
};
int main()
{
{
B b(42);
C c(24);
if (b.a.i != 42
||c.a.i != 24)
__builtin_abort ();
}
return a_ct;
}