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()32B::foo () 33 { 34 try 35 { 36 baz ("foo"); 37 } 38 catch (...) 39 { 40 } 41 42 return a; 43 } 44 45 A bar()46B::bar () 47 { 48 baz ("bar"); 49 return a; 50 } 51