From 1349009371aa206341fa2736efa46e98db5547c7 Mon Sep 17 00:00:00 2001 From: Thomas Heller Date: Tue, 15 Feb 2011 19:36:23 +0000 Subject: [PATCH] Fixes for msvc-9.0 [SVN r68924] --- include/boost/phoenix/core/actor.hpp | 10 ++++++++++ include/boost/phoenix/core/arity.hpp | 7 ++++--- include/boost/phoenix/core/detail/call.hpp | 4 ++-- include/boost/phoenix/core/is_nullary.hpp | 2 +- include/boost/phoenix/core/terminal.hpp | 7 ++++++- include/boost/phoenix/scope/lambda.hpp | 6 +++--- include/boost/phoenix/stl/container/container.hpp | 6 +++--- 7 files changed, 29 insertions(+), 13 deletions(-) diff --git a/include/boost/phoenix/core/actor.hpp b/include/boost/phoenix/core/actor.hpp index c64d3c8..eccaa97 100644 --- a/include/boost/phoenix/core/actor.hpp +++ b/include/boost/phoenix/core/actor.hpp @@ -24,6 +24,11 @@ #include #include +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable: 4522) // 'this' used in base member initializer list +#endif + namespace boost { namespace phoenix { template @@ -164,5 +169,10 @@ namespace boost {}; } + +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif + #endif diff --git a/include/boost/phoenix/core/arity.hpp b/include/boost/phoenix/core/arity.hpp index 717e860..a109091 100644 --- a/include/boost/phoenix/core/arity.hpp +++ b/include/boost/phoenix/core/arity.hpp @@ -15,6 +15,7 @@ #include #include #include +#include #include namespace boost { namespace phoenix @@ -51,10 +52,10 @@ namespace boost { namespace phoenix : proto::fold< proto::_ , mpl::int_<0> - , mpl::max< + , proto::make() + , proto::call)> + >()> > {}; }; diff --git a/include/boost/phoenix/core/detail/call.hpp b/include/boost/phoenix/core/detail/call.hpp index 832e97f..510203f 100644 --- a/include/boost/phoenix/core/detail/call.hpp +++ b/include/boost/phoenix/core/detail/call.hpp @@ -64,7 +64,7 @@ : proto::transform_impl { typedef - typename result_of::context::type + typename boost::phoenix::result_of::context::type context_type; BOOST_PP_REPEAT(PHOENIX_ITERATION, M0, _) @@ -79,7 +79,7 @@ , typename call_impl::data_param d ) const { - return Fun()(context(s, d) BOOST_PP_REPEAT(PHOENIX_ITERATION, M1, _)); + return Fun()(boost::phoenix::context(s, d) BOOST_PP_REPEAT(PHOENIX_ITERATION, M1, _)); } }; diff --git a/include/boost/phoenix/core/is_nullary.hpp b/include/boost/phoenix/core/is_nullary.hpp index 65cffb1..eeadcea 100644 --- a/include/boost/phoenix/core/is_nullary.hpp +++ b/include/boost/phoenix/core/is_nullary.hpp @@ -35,7 +35,7 @@ namespace boost { namespace phoenix , mpl::true_() , mpl::and_< proto::_state - , evaluator(proto::_, _context) + , proto::call >() > {}; diff --git a/include/boost/phoenix/core/terminal.hpp b/include/boost/phoenix/core/terminal.hpp index b1f0ac3..9ee7096 100644 --- a/include/boost/phoenix/core/terminal.hpp +++ b/include/boost/phoenix/core/terminal.hpp @@ -81,7 +81,12 @@ namespace boost { namespace phoenix template struct default_actions::when - : proto::lazy(proto::_value, functional::context(_env, _actions))> + : proto::lazy< + custom_terminal( + proto::_value + , _context + ) + > {}; namespace detail diff --git a/include/boost/phoenix/scope/lambda.hpp b/include/boost/phoenix/scope/lambda.hpp index 8a08525..7ab196a 100644 --- a/include/boost/phoenix/scope/lambda.hpp +++ b/include/boost/phoenix/scope/lambda.hpp @@ -131,11 +131,11 @@ namespace boost { namespace phoenix : proto::call< evaluator( proto::_child_c<2> - , functional::context( + , proto::call + , proto::make ) > {}; diff --git a/include/boost/phoenix/stl/container/container.hpp b/include/boost/phoenix/stl/container/container.hpp index c39e39c..f237fff 100644 --- a/include/boost/phoenix/stl/container/container.hpp +++ b/include/boost/phoenix/stl/container/container.hpp @@ -713,7 +713,7 @@ namespace boost { namespace phoenix typedef void result_type; template - void operator()(C& c, Arg1 arg1, Arg2 arg2) const + void operator()(C& c, Arg1 arg1, Arg2 &arg2) const { c.splice(arg1, arg2); } @@ -727,7 +727,7 @@ namespace boost { namespace phoenix void operator()( C& c , Arg1 arg1 - , Arg2 arg2 + , Arg2 & arg2 , Arg3 arg3 ) const { @@ -744,7 +744,7 @@ namespace boost { namespace phoenix void operator()( C c , Arg1 arg1 - , Arg2 arg2 + , Arg2 & arg2 , Arg3 arg3 , Arg4 arg4 ) const