id summary reporter owner description type status milestone component version severity resolution keywords cc 8943 Failed to compile code using boost::call_once with Intel C++ Composer XE 2013 on Windows abrarov@… viboes "Environment: 1. Windows 8 Pro x64 Russian. 2. MS Visual Studio Ultimate 2012 Update 2. 3. Intel C++ Composer XE 2013 (Intel C++ Compiler XE 13.0.0.089 for Windows). Tried to compile this code: {{{#!cpp #if defined(WIN32) #include #endif #include #include #include namespace { class foo { public: void operator()() const { std::cout << ""foo"" << std::endl; } }; // class foo } #if defined(WIN32) int _tmain(int /*argc*/, _TCHAR* /*argv*/[]) #else int main(int /*argc*/, char* /*argv*/[]) #endif { try { boost::once_flag once_flag = BOOST_ONCE_INIT; boost::call_once(once_flag, foo()); return EXIT_SUCCESS; } catch (...) { std::cerr << ""Unknown exception"" << std::endl; } return EXIT_FAILURE; } }}} Got compiler output with this error: {{{ >main.cpp(31): error : more than one instance of overloaded function ""boost::call_once"" matches the argument list: > function template ""void boost::call_once(boost::once_flag &, Function)"" > function template ""void boost::call_once(boost::once_flag &, Function &&)"" > argument types are: (boost::once_flag, ::foo) > boost::call_once(once_flag, foo()); > ^ }}} There is no such error (tested) with: * MS Visual C++ 2012 Update 3 (Visual Studio 2012 Update 3 on Windows 8 Pro x64 Rus), * Visual C++ 2010 (Visual Studio 2010 on Windows 7 Pro SP1 Rus), * Visual C++ 2008 (Visual Studio 2008 on Windows XP Pro SP3 Rus)." Bugs closed Boost 1.55.0 thread Boost 1.54.0 Problem fixed