summaryrefslogtreecommitdiff
path: root/boost/xpressive/detail/utility/symbols.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/xpressive/detail/utility/symbols.hpp')
-rw-r--r--boost/xpressive/detail/utility/symbols.hpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/boost/xpressive/detail/utility/symbols.hpp b/boost/xpressive/detail/utility/symbols.hpp
index b1c4213a6c..4b9e92bf12 100644
--- a/boost/xpressive/detail/utility/symbols.hpp
+++ b/boost/xpressive/detail/utility/symbols.hpp
@@ -17,7 +17,7 @@
#define BOOST_XPRESSIVE_DETAIL_SYMBOLS_HPP_DRJ_06_11_2007
// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#if defined(_MSC_VER)
# pragma once
#endif
@@ -206,8 +206,10 @@ namespace boost { namespace xpressive { namespace detail
result_type search(BidiIter &begin, BidiIter end, Trans trans, node* p) const
{
result_type r = 0;
+ #ifdef BOOST_DISABLE_THREADS
node* p2 = p;
bool left = false;
+ #endif
char_type c1 = (begin != end ? trans(*begin) : 0);
while(p)
{
@@ -245,14 +247,18 @@ namespace boost { namespace xpressive { namespace detail
}
else if(c1 < p->ch)
{
+ #ifdef BOOST_DISABLE_THREADS
left = true;
p2 = p;
+ #endif
p = p->lo;
}
else // (c1 > p->ch)
{
+ #ifdef BOOST_DISABLE_THREADS
left = false;
p2 = p;
+ #endif
p = p->hi;
}
}