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