summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.other/eh1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.other/eh1.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/eh1.C21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/eh1.C b/gcc/testsuite/g++.old-deja/g++.other/eh1.C
new file mode 100644
index 000000000..e7cdc2777
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/eh1.C
@@ -0,0 +1,21 @@
+// { dg-do assemble }
+
+class C2 {
+public:
+ ~C2();
+ C2 a() const;
+};
+class C3 {
+public:
+ C3(const C2 &c);
+};
+class C4
+{
+public:
+ C3 *foo(bool b, const C2 &c);
+ C2 d() const;
+};
+C3 *C4::foo(bool b, const C2 &c)
+{
+ return new C3(b ? d().a() : c);
+}