37 lines
280 B
C++
37 lines
280 B
C++
|
// Origin: Mark Mitchell <mark@codesourcery.com>
|
||
|
|
||
|
int i;
|
||
|
|
||
|
struct A
|
||
|
{
|
||
|
~A ();
|
||
|
};
|
||
|
|
||
|
A::~A () {
|
||
|
i = 1;
|
||
|
}
|
||
|
|
||
|
struct B : virtual public A {
|
||
|
};
|
||
|
|
||
|
struct C {
|
||
|
C ();
|
||
|
|
||
|
B b;
|
||
|
};
|
||
|
|
||
|
C::C () {
|
||
|
throw 3;
|
||
|
}
|
||
|
|
||
|
int main ()
|
||
|
{
|
||
|
try {
|
||
|
C c;
|
||
|
} catch (...) {
|
||
|
}
|
||
|
|
||
|
if (i != 1)
|
||
|
return 1;
|
||
|
}
|