1 // PR c++/46368
2 // { dg-do compile { target c++11 } }
3 
4 class A;
5 
6 class B
7 {
8   A foo ();
9   A bar ();
10 };
11 
12 class C
13 {
14 };
15 
16 struct D
17 {
18   D (C);
19 };
20 
21 struct A : D
22 {
AA23   A (const C & n) : D (n) {}
24 };
25 
26 A baz (const char *, A = C ());
27 
28 C c;
29 A a (c);
30 
31 A
foo()32 B::foo ()
33 {
34   try
35     {
36       baz ("foo");
37     }
38   catch (...)
39     {
40     }
41 
42   return a;
43 }
44 
45 A
bar()46 B::bar ()
47 {
48   baz ("bar");
49   return a;
50 }
51