// Test for the named return value optimization, this time with inlining. // { dg-do run } // { dg-options -O2 } int c; int d; struct A { A() { ++c; } A(const A&) { ++c; }; ~A() { ++d; } }; inline A f () { A a; return a; } int main () { { A a = f (); } return !(c == 1 && c == d); }