Boost logo

Boost-Commit :

From: hartmut.kaiser_at_[hidden]
Date: 2008-04-20 17:27:29


Author: hkaiser
Date: 2008-04-20 17:27:28 EDT (Sun, 20 Apr 2008)
New Revision: 44652
URL: http://svn.boost.org/trac/boost/changeset/44652

Log:
Spirit.Lex: Fixed VC7.1 compilation issue
Text files modified:
   trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp | 10 ++++++++++
   trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_iterator.hpp | 2 +-
   trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp | 10 ++++++++++
   3 files changed, 21 insertions(+), 1 deletions(-)

Modified: trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_functor.hpp 2008-04-20 17:27:28 EDT (Sun, 20 Apr 2008)
@@ -23,6 +23,7 @@
 #include <boost/spirit/home/lex/lexer/lexertl/wrap_action.hpp>
 
 #if 0 != __COMO_VERSION__ || !BOOST_WORKAROUND(BOOST_MSVC, <= 1310)
+#define BOOST_SPIRIT_STATIC_EOF 1
 #define BOOST_SPIRIT_EOF_PREFIX static
 #else
 #define BOOST_SPIRIT_EOF_PREFIX
@@ -265,7 +266,11 @@
         {
             shared& data = mp.shared->ftor;
             if (data.first == data.last)
+#if defined(BOOST_SPIRIT_STATIC_EOF)
                 return result = eof;
+#else
+ return result = mp.ftor.eof;
+#endif
 
             Iterator end = data.first;
             std::size_t id = data.next(end);
@@ -283,7 +288,11 @@
                 result = result_type(0);
             }
             else if (0 == id) { // EOF reached
+#if defined(BOOST_SPIRIT_STATIC_EOF)
                 result = eof;
+#else
+ result = mp.ftor.eof;
+#endif
             }
             else {
 #if defined(BOOST_SPIRIT_LEXERTL_DEBUG)
@@ -366,5 +375,6 @@
 }}}
 
 #undef BOOST_SPIRIT_EOF_PREFIX
+#undef BOOST_SPIRIT_STATIC_EOF
 
 #endif

Modified: trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_iterator.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_iterator.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_iterator.hpp 2008-04-20 17:27:28 EDT (Sun, 20 Apr 2008)
@@ -54,7 +54,7 @@
         typedef multi_pass_policies::split_std_deque storage_policy;
         
         typedef multi_pass_policies::default_policy<
- input_policy, ownership_policy, check_policy, storage_policy>
+ ownership_policy, check_policy, input_policy, storage_policy>
             policy_type;
         typedef spirit::multi_pass<functor_data_type, policy_type> type;
     };

Modified: trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp
==============================================================================
--- trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp (original)
+++ trunk/boost/spirit/home/lex/lexer/lexertl/lexertl_static_functor.hpp 2008-04-20 17:27:28 EDT (Sun, 20 Apr 2008)
@@ -22,6 +22,7 @@
 #include <boost/spirit/home/lex/lexer/lexertl/iterator_tokenizer.hpp>
 
 #if 0 != __COMO_VERSION__ || !BOOST_WORKAROUND(BOOST_MSVC, <= 1310)
+#define BOOST_SPIRIT_STATIC_EOF 1
 #define BOOST_SPIRIT_EOF_PREFIX static
 #else
 #define BOOST_SPIRIT_EOF_PREFIX
@@ -259,7 +260,11 @@
         {
             shared& data = mp.shared->ftor;
             if (data.first == data.last)
+#if defined(BOOST_SPIRIT_STATIC_EOF)
                 return result = eof;
+#else
+ return result = mp.ftor.eof;
+#endif
 
             Iterator end = data.first;
             std::size_t id = data.next(end);
@@ -277,7 +282,11 @@
                 return result = result_type(0);
             }
             else if (0 == id) { // EOF reached
+#if defined(BOOST_SPIRIT_STATIC_EOF)
                 return result = eof;
+#else
+ return result = mp.ftor.eof;
+#endif
             }
             
 #if defined(BOOST_SPIRIT_LEXERTL_DEBUG)
@@ -351,5 +360,6 @@
 }}}
 
 #undef BOOST_SPIRIT_EOF_PREFIX
+#undef BOOST_SPIRIT_STATIC_EOF
 
 #endif


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk