diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.eh/vbase1.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.eh/vbase1.C | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/vbase1.C b/gcc/testsuite/g++.old-deja/g++.eh/vbase1.C new file mode 100644 index 000000000..96766d624 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.eh/vbase1.C @@ -0,0 +1,25 @@ +// { dg-do run } +// Origin: Mark Mitchell <mark@codesourcery.com> + +int i; +int j; + +struct B +{ + B() { i = 1; } + ~B() { j = 7; } +}; + +struct D : virtual public B { + D () { throw 3; } +}; + +int main () +{ + try { + D d; + } catch (int) { + if (i != 1 || j != 7) + return 1; + } +} |