// { dg-do compile { target c++11 } } // { dg-additional-options "-O" } // pr 82878 erroneously unwrapped a reference parm in the lambda::_FUN // thunk. struct A { ~A(); operator int (); }; void baz (); void bar (A b) { void (*lam) (A) = [](A) { baz (); }; if (auto c = b) lam (c); }