Ticket #5117: 02-msm-gcc402-compile-fix.patch

File 02-msm-gcc402-compile-fix.patch, 2.1 KB (added by Kozlov Taras, 12 years ago)
  • boost/msm/back/state_machine.hpp

    diff -rub boost_1_45_0_old/boost/msm/back/state_machine.hpp boost_1_45_0/boost/msm/back/state_machine.hpp
    old new  
    17751775// the IBM compiler seems to have problems with nested classes
    17761776// the same seems to apply to the Apple version of gcc 4.0.1 (just in case we do for < 4.1)
    17771777// and also to MS VC < 8
    1778 #if defined (__IBMCPP__) || (defined (__APPLE_CC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 1)) || (defined(_MSC_VER) && (_MSC_VER < 1400))
     1778#if defined (__IBMCPP__) || (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || (defined(_MSC_VER) && (_MSC_VER < 1400))
    17791779     public:
    17801780#endif
    17811781    template<class ContainingSM>
     
    17841784        m_is_included=true;
    17851785        ::boost::fusion::for_each(m_substate_list,add_state<ContainingSM>(this,sm));
    17861786    }
    1787 #if defined (__IBMCPP__) || (defined (__APPLE_CC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 1)) || (defined(_MSC_VER) && (_MSC_VER < 1400))
     1787#if defined (__IBMCPP__) || (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || (defined(_MSC_VER) && (_MSC_VER < 1400))
    17881788     private:
    17891789#endif
    17901790    // A function object for use with mpl::for_each that stuffs
     
    21772177    }
    21782178    // removes one event from the message queue and processes it
    21792179    template <class StateType>
    2180     typename ::boost::disable_if<typename is_no_message_queue<StateType>::type,void >::type
    2181     process_message_queue(StateType*)
     2180    void process_message_queue(StateType*, typename ::boost::disable_if<typename is_no_message_queue<StateType>::type,void >::type* = 0)
    21822181    {
    21832182        if (!m_events_queue.m_events_queue.empty())
    21842183        {
     
    21882187        }
    21892188    }
    21902189    template <class StateType>
    2191     typename ::boost::enable_if<typename is_no_message_queue<StateType>::type,void >::type
    2192         process_message_queue(StateType*)
     2190    void process_message_queue(StateType*, typename ::boost::enable_if<typename is_no_message_queue<StateType>::type,void >::type* = 0)
    21932191    {
    21942192        // nothing to process
    21952193    }