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