From 852be00c009c96d573dacad6007a63f8076a6c9c Mon Sep 17 00:00:00 2001 From: Jason Merrill <jason@gcc.gnu.org> Date: Thu, 19 Aug 1999 14:45:07 -0400 Subject: [PATCH] new From-SVN: r28764 --- gcc/testsuite/g++.old-deja/g++.eh/fntry1.C | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 gcc/testsuite/g++.old-deja/g++.eh/fntry1.C diff --git a/gcc/testsuite/g++.old-deja/g++.eh/fntry1.C b/gcc/testsuite/g++.old-deja/g++.eh/fntry1.C new file mode 100644 index 000000000000..9c1c0ff0a791 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.eh/fntry1.C @@ -0,0 +1,31 @@ +// Bug: g++ fails to treat function-try-blocks in ctors specially. +// Submitted by Jason Merrill <jason@cygnus.com> + +int c; +int r; + +struct A { + int i; + A(int j) { i = j; } + ~A() { c += i; } +}; + +struct B: public A { + A a; + B() try : A(1), a(2) + { throw 1; } + catch (...) + { if (c != 3) r |= 1; } +}; + +int main () +{ + try + { B b; } + catch (...) + { c = 0; } + + if (c != 0) r |= 2; + + return r; +} -- GitLab