Boost logo

Boost-Commit :

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


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