$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r81798 - in branches/release: . boost boost/wave boost/wave/util libs libs/wave
From: hartmut.kaiser_at_[hidden]
Date: 2012-12-08 11:43:31
Author: hkaiser
Date: 2012-12-08 11:43:30 EST (Sat, 08 Dec 2012)
New Revision: 81798
URL: http://svn.boost.org/trac/boost/changeset/81798
Log:
Wave: merging from trunk
Properties modified: 
   branches/release/   (props changed)
   branches/release/boost/   (props changed)
   branches/release/boost/wave/   (props changed)
   branches/release/libs/   (props changed)
   branches/release/libs/wave/   (props changed)
Text files modified: 
   branches/release/boost/wave/language_support.hpp  |     2 +-                                      
   branches/release/boost/wave/util/cpp_iterator.hpp |     9 +++++----                               
   branches/release/libs/wave/ChangeLog              |    31 +++++++++++++++++--------------         
   3 files changed, 23 insertions(+), 19 deletions(-)
Modified: branches/release/boost/wave/language_support.hpp
==============================================================================
--- branches/release/boost/wave/language_support.hpp	(original)
+++ branches/release/boost/wave/language_support.hpp	2012-12-08 11:43:30 EST (Sat, 08 Dec 2012)
@@ -39,7 +39,7 @@
     support_cpp11 = support_cpp0x,
 #endif
 
-    support_option_mask = 0xFFB0,
+    support_option_mask = 0xFFC0,
     support_option_emit_contnewlines = 0x0040,
     support_option_insert_whitespace = 0x0080,
     support_option_preserve_comments = 0x0100,
Modified: branches/release/boost/wave/util/cpp_iterator.hpp
==============================================================================
--- branches/release/boost/wave/util/cpp_iterator.hpp	(original)
+++ branches/release/boost/wave/util/cpp_iterator.hpp	2012-12-08 11:43:30 EST (Sat, 08 Dec 2012)
@@ -202,13 +202,14 @@
     boost::wave::util::retrieve_macrodefinition(*hit.trees.begin(),
         BOOST_WAVE_MACRO_DEFINITION_ID, macrodefinition, act_pos, true);
 
+    // get rid of trailing T_EOF
+    if (!macrodefinition.empty() && token_id(macrodefinition.back()) == T_EOF)
+        macrodefinition.resize(macrodefinition.size()-1);
+
 //  If no macrodefinition is given, and the macro string does not end with a
 //  '=', then the macro should be defined with the value '1'
-    if (0 == macrodefinition.size() &&
-        '=' != macrostring[macrostring.size()-1])
-    {
+    if (macrodefinition.empty() && '=' != macrostring[macrostring.size()-1])
         macrodefinition.push_back(token_type(T_INTLIT, "1", act_pos));
-    }
 
 // add the new macro to the macromap
     return ctx.add_macro_definition(macroname, has_parameters, macroparameters,
Modified: branches/release/libs/wave/ChangeLog
==============================================================================
--- branches/release/libs/wave/ChangeLog	(original)
+++ branches/release/libs/wave/ChangeLog	2012-12-08 11:43:30 EST (Sat, 08 Dec 2012)
@@ -20,22 +20,25 @@
 
 CHANGELOG
 
-- Added util::create_directories() wrapper to account for new behavior of
-  boost::filesystem::create_directories().
-- Fixed an obscure problem when preprocessing directives wouldn't be recognized
-  if the previous line contained nothing but an empty macro invocation
-  (see new test case t_9_023.cpp)
-- Added a new command line option --license=<file> to the Wave driver tool
-  which allows to pre-pend the content of a (license) file to every newly
-  created file. This option simplifies the implementation of partial
-  preprocessing as done on Phoenix, Fusion, etc.
-- Changed the effect of the -N command line option to simply not expand
-  the macro by pretending it was not defined. Earlier the whole invocation
-  sequence was skipped, now we skip only the macro itself, which still expands
-  the arguments for the macro invocation.
+Boost V1.53:
+ - Fixed a problem with context<>::add_macro_definition which sometimes 
+   appended a superfluous T_EOF to the macro replacement list.
 
 Boost V1.52.0:
- - Fixed a couple of compilation warnings
+ - Added util::create_directories() wrapper to account for new behavior of
+   boost::filesystem::create_directories().
+ - Fixed an obscure problem when preprocessing directives wouldn't be recognized
+   if the previous line contained nothing but an empty macro invocation
+   (see new test case t_9_023.cpp)
+ - Added a new command line option --license=<file> to the Wave driver tool
+   which allows to pre-pend the content of a (license) file to every newly
+   created file. This option simplifies the implementation of partial
+   preprocessing as done on Phoenix, Fusion, etc.
+ - Changed the effect of the -N command line option to simply not expand
+   the macro by pretending it was not defined. Earlier the whole invocation
+   sequence was skipped, now we skip only the macro itself, which still expands
+   the arguments for the macro invocation.
+  - Fixed a couple of compilation warnings
 
 Boost V1.51.0
  - Fixed #7050: Invalid memory write bug in lexing_exception