// { dg-do assemble } // Origin: Mark Mitchell <mark@codesourcery.com> struct S { S (int); operator bool () const; }; template <class T> void f () { if (const S &s = 3) { } } template void f<int>();