diff -rub boost_1_45_0_old/boost/msm/back/state_machine.hpp boost_1_45_0/boost/msm/back/state_machine.hpp --- boost_1_45_0_old/boost/msm/back/state_machine.hpp 2010-12-03 17:04:12.000000000 +0300 +++ boost_1_45_0/boost/msm/back/state_machine.hpp 2011-01-25 13:36:43.000000000 +0300 @@ -1775,7 +1775,7 @@ // the IBM compiler seems to have problems with nested classes // the same seems to apply to the Apple version of gcc 4.0.1 (just in case we do for < 4.1) // and also to MS VC < 8 -#if defined (__IBMCPP__) || (defined (__APPLE_CC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 1)) || (defined(_MSC_VER) && (_MSC_VER < 1400)) +#if defined (__IBMCPP__) || (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || (defined(_MSC_VER) && (_MSC_VER < 1400)) public: #endif template @@ -1784,7 +1784,7 @@ m_is_included=true; ::boost::fusion::for_each(m_substate_list,add_state(this,sm)); } -#if defined (__IBMCPP__) || (defined (__APPLE_CC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 1)) || (defined(_MSC_VER) && (_MSC_VER < 1400)) +#if defined (__IBMCPP__) || (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || (defined(_MSC_VER) && (_MSC_VER < 1400)) private: #endif // A function object for use with mpl::for_each that stuffs @@ -2177,8 +2177,7 @@ } // removes one event from the message queue and processes it template - typename ::boost::disable_if::type,void >::type - process_message_queue(StateType*) + void process_message_queue(StateType*, typename ::boost::disable_if::type,void >::type* = 0) { if (!m_events_queue.m_events_queue.empty()) { @@ -2188,8 +2187,7 @@ } } template - typename ::boost::enable_if::type,void >::type - process_message_queue(StateType*) + void process_message_queue(StateType*, typename ::boost::enable_if::type,void >::type* = 0) { // nothing to process }