Re: [Boost-bugs] [Boost C++ Libraries] #5117: back/state_machine.hpp doesn`t compile with gcc 4.0.x version

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5117: back/state_machine.hpp doesn`t compile with gcc 4.0.x version
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-01-25 11:17:54


#5117: back/state_machine.hpp doesn`t compile with gcc 4.0.x version
-------------------------------+--------------------------------------------
  Reporter: anonymous | Owner: chenry
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: msm
   Version: Boost 1.45.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+--------------------------------------------

Comment (by anonymous):

 I can`t attach patch file, may be some problems with traq. Post it here
 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<class ContainingSM>
 @@ -1784,7 +1784,7 @@
          m_is_included=true;
 ::boost::fusion::for_each(m_substate_list,add_state<ContainingSM>(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 <class StateType>
 - typename ::boost::disable_if<typename
 is_no_message_queue<StateType>::type,void >::type
 - process_message_queue(StateType*)
 + void process_message_queue(StateType*, typename
 ::boost::disable_if<typename is_no_message_queue<StateType>::type,void
>::type* = 0)
      {
          if (!m_events_queue.m_events_queue.empty())
          {
 @@ -2188,8 +2187,7 @@
          }
      }
      template <class StateType>
 - typename ::boost::enable_if<typename
 is_no_message_queue<StateType>::type,void >::type
 - process_message_queue(StateType*)
 + void process_message_queue(StateType*, typename
 ::boost::enable_if<typename is_no_message_queue<StateType>::type,void
>::type* = 0)
      {
          // nothing to process
      }

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5117#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:05 UTC