// PR c++/48370 | |
// { dg-do run } | |
extern "C" void abort(); | |
int last = 4; | |
struct A { | |
int i; | |
A(int i): i(i) { } | |
~A() { if (i > last) abort(); last = i; } | |
}; | |
struct D { int i; }; | |
struct B: D, A { B(int i): A(i) { } }; | |
struct E: D, virtual A { E(int i): A(i) { } }; | |
struct C | |
{ | |
const A& ar1; | |
const A& ar2; | |
const A& ar3; | |
}; | |
int main() | |
{ | |
C c = { 1, B(2), E(3) }; | |
} |