$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: eric_at_[hidden]
Date: 2008-03-06 12:56:43
Author: eric_niebler
Date: 2008-03-06 12:56:42 EST (Thu, 06 Mar 2008)
New Revision: 43530
URL: http://svn.boost.org/trac/boost/changeset/43530
Log:
work around msvc-7.1 bug
Text files modified: 
   trunk/boost/xpressive/detail/static/transforms/as_independent.hpp |    15 +++++++++------                         
   1 files changed, 9 insertions(+), 6 deletions(-)
Modified: trunk/boost/xpressive/detail/static/transforms/as_independent.hpp
==============================================================================
--- trunk/boost/xpressive/detail/static/transforms/as_independent.hpp	(original)
+++ trunk/boost/xpressive/detail/static/transforms/as_independent.hpp	2008-03-06 12:56:42 EST (Thu, 06 Mar 2008)
@@ -102,7 +102,7 @@
             typedef
                 typename Grammar::template result<void(
                     arg_type
-                  , typename IndependentEndXpression::result<void(arg_type, proto::ignore_, proto::ignore_)>::type
+                  , typename IndependentEndXpression::result<void(arg_type, int, int)>::type
                   , Visitor
                 )>::type
             xpr_type;
@@ -114,10 +114,11 @@
         operator ()(Expr const &expr, State const &, Visitor &visitor) const
         {
             typedef result<void(Expr, State, Visitor)> result_type;
+            int i = 0;
             return typename result_type::type(
                 Grammar()(
                     proto::arg(expr)
-                  , IndependentEndXpression()(proto::arg(expr), proto::ignore, proto::ignore)
+                  , IndependentEndXpression()(proto::arg(expr), i, i)
                   , visitor
                 )
               , false
@@ -137,7 +138,7 @@
             typedef
                 typename Grammar::template result<void(
                     arg_type
-                  , typename IndependentEndXpression::result<void(arg_type, proto::ignore_, proto::ignore_)>::type
+                  , typename IndependentEndXpression::result<void(arg_type, int, int)>::type
                   , Visitor
                 )>::type
             xpr_type;
@@ -149,9 +150,10 @@
         operator ()(Expr const &expr, State const &, Visitor &visitor) const
         {
             typedef typename result<void(Expr, State, Visitor)>::xpr_type xpr_type;
+            int i = 0;
             xpr_type const &expr2 = Grammar()(
                 proto::arg(expr)
-              , IndependentEndXpression()(proto::arg(expr), proto::ignore, proto::ignore)
+              , IndependentEndXpression()(proto::arg(expr), i, i)
               , visitor
             );
             std::size_t width = expr2.get_width().value();
@@ -171,7 +173,7 @@
             typedef detail::keeper_matcher<
                 typename Grammar::template result<void(
                     arg_type
-                  , typename IndependentEndXpression::result<void(arg_type, proto::ignore_, proto::ignore_)>::type
+                  , typename IndependentEndXpression::result<void(arg_type, int, int)>::type
                   , Visitor
                 )>::type
             > type;
@@ -181,10 +183,11 @@
         typename result<void(Expr, State, Visitor)>::type
         operator ()(Expr const &expr, State const &, Visitor &visitor) const
         {
+            int i = 0;
             return typename result<void(Expr, State, Visitor)>::type(
                 Grammar()(
                     proto::arg(expr)
-                  , IndependentEndXpression()(proto::arg(expr), proto::ignore, proto::ignore)
+                  , IndependentEndXpression()(proto::arg(expr), i, i)
                   , visitor
                 )
             );