Boost logo

Boost-Commit :

From: hartmut.kaiser_at_[hidden]
Date: 2008-02-14 17:03:02


Author: hkaiser
Date: 2008-02-14 17:03:02 EST (Thu, 14 Feb 2008)
New Revision: 43263
URL: http://svn.boost.org/trac/boost/changeset/43263

Log:
Wave: Fixed a whitespace insertion glitch, where whitespace got inserted unconditionally between two operators even if one of these was a comma.
Text files modified:
   branches/release/boost/wave/util/insert_whitespace_detection.hpp | 3 ++-
   branches/release/boost/wave/wave_config.hpp | 17 +++++++++++++++--
   branches/release/libs/wave/ChangeLog | 6 ++++--
   3 files changed, 21 insertions(+), 5 deletions(-)

Modified: branches/release/boost/wave/util/insert_whitespace_detection.hpp
==============================================================================
--- branches/release/boost/wave/util/insert_whitespace_detection.hpp (original)
+++ branches/release/boost/wave/util/insert_whitespace_detection.hpp 2008-02-14 17:03:02 EST (Thu, 14 Feb 2008)
@@ -325,7 +325,8 @@
         }
 
     // else, handle operators separately
- if (IS_CATEGORY(current, OperatorTokenType) &&
+ if (T_COMMA != current && T_COMMA != prev &&
+ IS_CATEGORY(current, OperatorTokenType) &&
             IS_CATEGORY(prev, OperatorTokenType))
         {
             return true; // operators must be delimited always

Modified: branches/release/boost/wave/wave_config.hpp
==============================================================================
--- branches/release/boost/wave/wave_config.hpp (original)
+++ branches/release/boost/wave/wave_config.hpp 2008-02-14 17:03:02 EST (Thu, 14 Feb 2008)
@@ -388,9 +388,22 @@
 }}
 
 ///////////////////////////////////////////////////////////////////////////////
-// configure Boost.Spirit thread support, Boost.Pool is configured
-// automatically
+// Configure Wave thread support, Boost.Spirit and Boost.Pool are configured
+// based on these settings automatically
+//
+// If BOOST_WAVE_SUPPORT_THREADING is not defined, Wave will use the global
+// Boost build settings (BOOST_HAS_THREADS), if it is defined its value
+// defines, whether threading will be enabled or not (should be set to '0'
+// or '1').
+#if !defined(BOOST_WAVE_SUPPORT_THREADING)
 #if defined(BOOST_HAS_THREADS)
+#define BOOST_WAVE_SUPPORT_THREADING 1
+#else
+#define BOOST_WAVE_SUPPORT_THREADING 0
+#endif
+#endif
+
+#if BOOST_WAVE_SUPPORT_THREADING != 0
 #define BOOST_SPIRIT_THREADSAFE 1
 #define PHOENIX_THREADSAFE 1
 #else

Modified: branches/release/libs/wave/ChangeLog
==============================================================================
--- branches/release/libs/wave/ChangeLog (original)
+++ branches/release/libs/wave/ChangeLog 2008-02-14 17:03:02 EST (Thu, 14 Feb 2008)
@@ -24,8 +24,6 @@
 
 CHANGELOG
 
-- Wave Version 1.4
-
 Boost V1.35.0
 - Wave Version 1.3
 - Changed the return value of the 'evaluated_conditional_expression()' pp hook
@@ -321,6 +319,10 @@
 - Worked around a linker issue for the True64/CXX compiler, complaining about
   multiple defined symbols when using the flex_string class.
 - Added missing documentation for the context::get_macro_definition function.
+- Added the BOOST_WAVE_SUPPORT_THREADING allowing to explicitely control
+ whether the Wave library is built with threading support enabled. If not
+ defined the build settings will be picked up from the Boost build environment
+ (BOOST_HAS_THREADS).
 
 Sat Feb 18 2005
 - Version 1.2.3


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