1 // { dg-do run } 2 // { dg-options "-O2" } 3 // Origin: Mark Mitchell <mitchell@codesourcery.com> 4 5 int i; 6 int j; 7 8 struct A 9 { 10 A (); 11 A (const A&); 12 ~A (); 13 }; 14 A()15A::A () 16 { 17 ++i; 18 } 19 A(const A &)20A::A (const A&) 21 { 22 ++i; 23 } 24 ~A()25A::~A () 26 { 27 --i; 28 } 29 f()30A f () 31 { 32 return A (); 33 } 34 g(const A &)35void g (const A&) 36 { 37 } 38 main()39int main () 40 { 41 g (f ()); 42 return i; 43 } 44