Index: wave/cpplexer/re2clex/cpp_re.hpp =================================================================== --- wave/cpplexer/re2clex/cpp_re.hpp (Revision 40787) +++ wave/cpplexer/re2clex/cpp_re.hpp (Arbeitskopie) @@ -33,6 +33,8 @@ namespace cpplexer { namespace re2clex { +struct Scanner; + /////////////////////////////////////////////////////////////////////////////// // The scanner function to call whenever a new token is requested BOOST_WAVE_DECL boost::wave::token_id scan(Scanner *s); Index: wave/cpplexer/cpp_lex_interface_generator.hpp =================================================================== --- wave/cpplexer/cpp_lex_interface_generator.hpp (Revision 40787) +++ wave/cpplexer/cpp_lex_interface_generator.hpp (Arbeitskopie) @@ -17,6 +17,7 @@ #include #include #include +#include // lex_token // this must occur after all of the includes and before any code appears #ifdef BOOST_HAS_ABI_HEADERS Index: wave/whitespace_handling.hpp =================================================================== --- wave/whitespace_handling.hpp (Revision 40787) +++ wave/whitespace_handling.hpp (Arbeitskopie) @@ -104,6 +104,7 @@ bool &skipped_newline) { // re-initialize the preserve comments state + // FIXME: Where is need_preserve_comments defined? preserve_comments = boost::wave::need_preserve_comments(ctx.get_language()); return (this->*state)(token, skipped_newline); } Index: wave/grammars/cpp_expression_value.hpp =================================================================== --- wave/grammars/cpp_expression_value.hpp (Revision 40787) +++ wave/grammars/cpp_expression_value.hpp (Arbeitskopie) @@ -16,6 +16,7 @@ #endif // defined(BOOST_SPIRIT_DEBUG) #include +#include // value_error // this must occur after all of the includes and before any code appears #ifdef BOOST_HAS_ABI_HEADERS @@ -185,8 +186,9 @@ case is_bool: { int_literal_type result = value.i + as_long(rhs); - if (rhs.value.i > 0L && value.i > result || - rhs.value.i < 0L && value.i < result) + // warning: suggest parentheses around && within || + if ((rhs.value.i > 0L && value.i > result) || + (rhs.value.i < 0L && value.i < result)) { valid = error_integer_overflow; } @@ -199,8 +201,8 @@ case is_int: { int_literal_type result = value.i + rhs.value.i; - if (rhs.value.i > 0L && value.i > result || - rhs.value.i < 0L && value.i < result) + if ((rhs.value.i > 0L && value.i > result) || + (rhs.value.i < 0L && value.i < result)) { valid = error_integer_overflow; } @@ -252,8 +254,8 @@ case is_bool: { int_literal_type result = value.i - as_long(rhs); - if (rhs.value.i > 0L && result > value.i || - rhs.value.i < 0L && result < value.i) + if ((rhs.value.i > 0L && result > value.i) || + (rhs.value.i < 0L && result < value.i)) { valid = error_integer_overflow; } @@ -266,8 +268,8 @@ case is_int: { int_literal_type result = value.i - rhs.value.i; - if (rhs.value.i > 0L && result > value.i || - rhs.value.i < 0L && result < value.i) + if ((rhs.value.i > 0L && result > value.i) || + (rhs.value.i < 0L && result < value.i)) { valid = error_integer_overflow; } @@ -310,8 +312,8 @@ case is_int: { uint_literal_type result = value.ui - rhs.value.i; - if (rhs.value.i > 0L && result > value.ui || - rhs.value.i < 0L && result < value.ui) + if ((rhs.value.i > 0L && result > value.ui) || + (rhs.value.i < 0L && result < value.ui)) { valid = error_integer_overflow; } Index: wave/cpp_iteration_context.hpp =================================================================== --- wave/cpp_iteration_context.hpp (Revision 40787) +++ wave/cpp_iteration_context.hpp (Arbeitskopie) @@ -22,6 +22,7 @@ #include #include #include +#include // make_multi_pass // this must occur after all of the includes and before any code appears #ifdef BOOST_HAS_ABI_HEADERS Index: wave/util/cpp_iterator.hpp =================================================================== --- wave/util/cpp_iterator.hpp (Revision 40787) +++ wave/util/cpp_iterator.hpp (Arbeitskopie) @@ -476,6 +476,7 @@ // if comments shouldn't be preserved replace them with newlines id = token_id(act_token); + // FIXME: Where is need_preserve_comments defined? if (!need_preserve_comments(ctx.get_language()) && (T_CPPCOMMENT == id || context_policies::util::ccomment_has_newline(act_token))) { Index: wave/util/time_conversion_helper.hpp =================================================================== --- wave/util/time_conversion_helper.hpp (Revision 40787) +++ wave/util/time_conversion_helper.hpp (Arbeitskopie) @@ -31,6 +31,8 @@ #endif // SPIRIT_VERSION >= 0x1700 #endif // !defined(spirit_append_actor) +#include // memset + // this must occur after all of the includes and before any code appears #ifdef BOOST_HAS_ABI_HEADERS #include BOOST_ABI_PREFIX Index: wave/util/symbol_table.hpp =================================================================== --- wave/util/symbol_table.hpp (Revision 40787) +++ wave/util/symbol_table.hpp (Arbeitskopie) @@ -20,6 +20,7 @@ #endif #include +#include // this must occur after all of the includes and before any code appears #ifdef BOOST_HAS_ABI_HEADERS Index: wave/util/insert_whitespace_detection.hpp =================================================================== --- wave/util/insert_whitespace_detection.hpp (Revision 40787) +++ wave/util/insert_whitespace_detection.hpp (Arbeitskopie) @@ -84,7 +84,7 @@ } // T_INTLIT inline bool - handle_intlit(boost::wave::token_id prev, boost::wave::token_id before) + handle_intlit(boost::wave::token_id prev, boost::wave::token_id /*before*/) { using namespace boost::wave; switch (static_cast(prev)) { @@ -101,7 +101,7 @@ // T_FLOATLIT inline bool handle_floatlit(boost::wave::token_id prev, - boost::wave::token_id before) + boost::wave::token_id /*before*/) { using namespace boost::wave; switch (static_cast(prev)) { @@ -118,7 +118,7 @@ // <% T_LEFTBRACE inline bool handle_alt_leftbrace(boost::wave::token_id prev, - boost::wave::token_id before) + boost::wave::token_id /*before*/) { using namespace boost::wave; switch (static_cast(prev)) { @@ -131,7 +131,7 @@ // <: T_LEFTBRACKET inline bool handle_alt_leftbracket(boost::wave::token_id prev, - boost::wave::token_id before) + boost::wave::token_id /*before*/) { using namespace boost::wave; switch (static_cast(prev)) { @@ -144,7 +144,7 @@ // T_FIXEDPOINTLIT inline bool handle_fixedpointlit(boost::wave::token_id prev, - boost::wave::token_id before) + boost::wave::token_id /*before*/) { using namespace boost::wave; switch (static_cast(prev)) { @@ -174,7 +174,7 @@ // T_QUESTION_MARK inline bool handle_questionmark(boost::wave::token_id prev, - boost::wave::token_id before) + boost::wave::token_id /*before*/) { using namespace boost::wave; switch(static_cast(prev)) { Index: wave/util/cpp_macromap_utils.hpp =================================================================== --- wave/util/cpp_macromap_utils.hpp (Revision 40787) +++ wave/util/cpp_macromap_utils.hpp (Arbeitskopie) @@ -17,6 +17,7 @@ #include #include +#include // this must occur after all of the includes and before any code appears #ifdef BOOST_HAS_ABI_HEADERS @@ -420,8 +421,6 @@ inline bool is_whitespace_only (ContainerT const &argument) { - using namespace cpplexer; - typename ContainerT::const_iterator end = argument.end(); for (typename ContainerT::const_iterator it = argument.begin(); it != end; ++it) Index: wave/util/cpp_macromap_predef.hpp =================================================================== --- wave/util/cpp_macromap_predef.hpp (Revision 40787) +++ wave/util/cpp_macromap_predef.hpp (Arbeitskopie) @@ -18,6 +18,7 @@ #include #include +#include // time_conversion_helper #include // this must occur after all of the includes and before any code appears Index: wave/util/unput_queue_iterator.hpp =================================================================== --- wave/util/unput_queue_iterator.hpp (Revision 40787) +++ wave/util/unput_queue_iterator.hpp (Arbeitskopie) @@ -18,6 +18,7 @@ #include #include +#include // token_id // this must occur after all of the includes and before any code appears #ifdef BOOST_HAS_ABI_HEADERS @@ -416,8 +417,6 @@ inline boost::wave::token_id skip_whitespace(IteratorT &first, IteratorT const &last) { - using namespace cpplexer; - token_id id = next_token::peek(first, last, false); if (IS_CATEGORY(id, WhiteSpaceTokenType)) { @@ -434,7 +433,6 @@ inline boost::wave::token_id skip_whitespace(IteratorT &first, IteratorT const &last, ContainerT &queue) { - using namespace cpplexer; queue.push_back (*first); // queue up the current token token_id id = next_token::peek(first, last, false); Index: wave/wave_config.hpp =================================================================== --- wave/wave_config.hpp (Revision 40787) +++ wave/wave_config.hpp (Arbeitskopie) @@ -404,6 +404,7 @@ #define PHOENIX_LIMIT 6 #endif #if PHOENIX_LIMIT < 6 +// boost/spirit/attribute.hpp sets PHOENIX_LIMIT to 3!!!!? #error "Boost.Wave: the constant PHOENIX_LIMIT must be at least defined to 4" \ " to compile the library." #endif