* g++.dg/eh/dtor3.C: New.
authorJason Merrill <jason@redhat.com>
Wed, 11 Apr 2012 17:55:00 +0000 (13:55 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 11 Apr 2012 17:55:00 +0000 (13:55 -0400)
From-SVN: r186344

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/eh/dtor3.C [new file with mode: 0644]

index ab04f984a1cc3349331951bbe5838cdb419645fb..3355e7e9604b367ba6700a67d87f61a0da839082 100644 (file)
@@ -1,3 +1,7 @@
+2012-04-11  Jason Merrill  <jason@redhat.com>
+
+       * g++.dg/eh/dtor3.C: New.
+
 2012-04-11  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/52621
diff --git a/gcc/testsuite/g++.dg/eh/dtor3.C b/gcc/testsuite/g++.dg/eh/dtor3.C
new file mode 100644 (file)
index 0000000..ed9e6d9
--- /dev/null
@@ -0,0 +1,36 @@
+// Red Hat bug 750545
+// { dg-do run { target c++98 } }
+
+class excep {};
+class A
+{
+public:
+  ~A() { throw excep(); }
+};
+
+class B
+{
+  A a;
+};
+
+class C
+{
+  B b;
+};
+
+void f()
+{
+  C* c = new C();
+
+  try
+  {
+    delete c;
+  }
+  catch(...)
+  {}
+}
+
+int main()
+{
+  f();
+}