1 // PR c++/5636
2 // Bug: the named return value optimization interfered with EH cleanups.
3 
4 int c, d;
5 
6 struct A
7 {
AA8   A() { ++c; }
~AA9   ~A() { ++d; }
10 };
11 
f()12 A f()
13 {
14   A nrv;
15   throw 42;
16   return nrv;
17 }
18 
main()19 int main()
20 {
21   try
22     { A a = f(); }
23   catch (...) { }
24   return (d < c);
25 }
26