Boost C++ Libraries: Ticket #8416: Boost 1.53.0: Wave fails to build in C++11 mode https://svn.boost.org/trac10/ticket/8416 <p> Wave in Boost 1.53.0 fails to build in C++11 mode. This bug does not occur in Boost 1.52.0. I use GCC 4.7.2. </p> <pre class="wiki">gcc.compile.c++ ../bin.v2/tools/wave/build/gcc-4.7/gentoorelease/link-static/pch-off/threading-multi/wavetool-on/cpp.o "x86_64-pc-linux-gnu-g++" -ftemplate-depth-128 -march=core2 -O2 -pipe -std=gnu++11 -finline-functions -Wno-inline -Wall -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -DBOOST_WAVE_SUPPORT_THREADING=0 -DDATE_TIME_INLINE -DNDEBUG -I".." -c -o "../bin.v2/tools/wave/build/gcc-4.7/gentoorelease/link-static/pch-off/threading-multi/wavetool-on/cpp.o" "wave/build/../cpp.cpp" In file included from ../boost/wave/cpp_context.hpp:37:0, from ../boost/wave.hpp:21, from wave/build/../cpp.cpp:26: ../boost/wave/util/cpp_iterator.hpp: In instantiation of ‘bool boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::emit_line_directive() [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;]’: ../boost/wave/util/cpp_iterator.hpp:539:9: required from ‘const result_type&amp; boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::operator()() [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;; boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::result_type = boost::wave::cpplexer::lex_token&lt;&gt;]’ ../boost/wave/util/functor_input.hpp:124:13: required from ‘void boost::wave::util::functor_input::inner&lt;FunctorT&gt;::advance_input() [with FunctorT = boost::wave::impl::pp_iterator_functor&lt;boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt; &gt;]’ ../boost/wave/util/cpp_iterator.hpp:2568:13: required from ‘bool boost::wave::pp_iterator&lt;ContextT&gt;::force_include(const char*, bool) [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;]’ wave/build/../cpp.cpp:1110:68: required from here ../boost/wave/util/cpp_iterator.hpp:797:17: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘std::size_t {aka long unsigned int}’ [-Wformat] In file included from wave/build/../cpp.cpp:57:0: wave/build/../trace_macro_expansion.hpp: In instantiation of ‘bool trace_macro_expansion&lt;TokenT&gt;::emit_line_directive(const ContextT&amp;, ContainerT&amp;, const typename ContextT::token_type&amp;) [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;; ContainerT = std::list&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt; &gt;; TokenT = boost::wave::cpplexer::lex_token&lt;&gt;; typename ContextT::token_type = boost::wave::cpplexer::lex_token&lt;&gt;]’: ../boost/wave/util/cpp_iterator.hpp:781:13: required from ‘bool boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::emit_line_directive() [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;]’ ../boost/wave/util/cpp_iterator.hpp:539:9: required from ‘const result_type&amp; boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::operator()() [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;; boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::result_type = boost::wave::cpplexer::lex_token&lt;&gt;]’ ../boost/wave/util/functor_input.hpp:124:13: required from ‘void boost::wave::util::functor_input::inner&lt;FunctorT&gt;::advance_input() [with FunctorT = boost::wave::impl::pp_iterator_functor&lt;boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt; &gt;]’ ../boost/wave/util/cpp_iterator.hpp:2568:13: required from ‘bool boost::wave::pp_iterator&lt;ContextT&gt;::force_include(const char*, bool) [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;]’ wave/build/../cpp.cpp:1110:68: required from here wave/build/../trace_macro_expansion.hpp:624:9: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘std::size_t {aka long unsigned int}’ [-Wformat] In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/include/g++-v4/list:64:0, from ../boost/filesystem/path_traits.hpp:27, from ../boost/filesystem/path.hpp:25, from wave/build/../cpp.cpp:19: /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/include/g++-v4/bits/stl_list.h: In instantiation of ‘std::list&lt;_Tp, _Alloc&gt;::_Node* std::list&lt;_Tp, _Alloc&gt;::_M_create_node(_Args&amp;&amp; ...) [with _Args = {}; _Tp = boost::wave::cpplexer::lex_token&lt;&gt;; _Alloc = boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt;; std::list&lt;_Tp, _Alloc&gt;::_Node = std::_List_node&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;]’: /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/include/g++-v4/bits/stl_list.h:1533:63: required from ‘void std::list&lt;_Tp, _Alloc&gt;::_M_insert(std::list&lt;_Tp, _Alloc&gt;::iterator, _Args&amp;&amp; ...) [with _Args = {}; _Tp = boost::wave::cpplexer::lex_token&lt;&gt;; _Alloc = boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt;; std::list&lt;_Tp, _Alloc&gt;::iterator = std::_List_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;]’ /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/include/g++-v4/bits/stl_list.h:1007:11: required from ‘void std::list&lt;_Tp, _Alloc&gt;::emplace_back(_Args&amp;&amp; ...) [with _Args = {}; _Tp = boost::wave::cpplexer::lex_token&lt;&gt;; _Alloc = boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt;]’ /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/include/g++-v4/bits/list.tcc:127:6: required from ‘void std::list&lt;_Tp, _Alloc&gt;::_M_default_append(std::list&lt;_Tp, _Alloc&gt;::size_type) [with _Tp = boost::wave::cpplexer::lex_token&lt;&gt;; _Alloc = boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt;; std::list&lt;_Tp, _Alloc&gt;::size_type = long unsigned int]’ /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/include/g++-v4/bits/list.tcc:149:2: required from ‘void std::list&lt;_Tp, _Alloc&gt;::resize(std::list&lt;_Tp, _Alloc&gt;::size_type) [with _Tp = boost::wave::cpplexer::lex_token&lt;&gt;; _Alloc = boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt;; std::list&lt;_Tp, _Alloc&gt;::size_type = long unsigned int]’ ../boost/wave/util/cpp_iterator.hpp:207:9: required from ‘bool boost::wave::util::add_macro_definition(ContextT&amp;, std::string, bool, boost::wave::language_support) [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;; std::string = std::basic_string&lt;char&gt;]’ ../boost/wave/cpp_context.hpp:204:27: required from ‘bool boost::wave::context&lt;IteratorT, LexIteratorT, InputPolicyT, HooksT, DerivedT&gt;::add_macro_definition(StringT, bool) [with StringT = std::basic_string&lt;char&gt;; IteratorT = __gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;; LexIteratorT = boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;; InputPolicyT = boost::wave::iteration_context_policies::load_file_to_string; HooksT = trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;; DerivedT = boost::wave::this_type]’ wave/build/../cpp.cpp:983:46: required from here /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/include/g++-v4/bits/stl_list.h:503:8: error: no matching function for call to ‘boost::fast_pool_allocator&lt;std::_List_node&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt;::construct(std::list&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt; &gt;::_Node*&amp;)’ /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/include/g++-v4/bits/stl_list.h:503:8: note: candidate is: In file included from wave/build/../cpp.hpp:41:0, from wave/build/../cpp.cpp:15: ../boost/pool/pool_alloc.hpp:398:10: note: void boost::fast_pool_allocator&lt;T, UserAllocator, Mutex, NextSize, MaxSize&gt;::construct(boost::fast_pool_allocator&lt;T, UserAllocator, Mutex, NextSize, MaxSize&gt;::pointer, const value_type&amp;) [with T = std::_List_node&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;; UserAllocator = boost::default_user_allocator_new_delete; Mutex = boost::details::pool::null_mutex; unsigned int NextSize = 32u; unsigned int MaxSize = 0u; boost::fast_pool_allocator&lt;T, UserAllocator, Mutex, NextSize, MaxSize&gt;::pointer = std::_List_node&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;*; boost::fast_pool_allocator&lt;T, UserAllocator, Mutex, NextSize, MaxSize&gt;::value_type = std::_List_node&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;] ../boost/pool/pool_alloc.hpp:398:10: note: candidate expects 2 arguments, 1 provided In file included from ../boost/wave/cpp_context.hpp:38:0, from ../boost/wave.hpp:21, from wave/build/../cpp.cpp:26: ../boost/wave/util/cpp_macromap.hpp: In instantiation of ‘bool boost::wave::util::macromap&lt;ContextT&gt;::expand_predefined_macro(const token_type&amp;, ContainerT&amp;) [with ContainerT = std::list&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt; &gt;; ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;; boost::wave::util::macromap&lt;ContextT&gt;::token_type = boost::wave::cpplexer::lex_token&lt;&gt;]’: ../boost/wave/util/cpp_macromap.hpp:1174:9: required from ‘bool boost::wave::util::macromap&lt;ContextT&gt;::expand_macro(ContainerT&amp;, const token_type&amp;, typename boost::wave::util::macromap&lt;ContextT&gt;::defined_macros_type::iterator, IteratorT&amp;, const IteratorT&amp;, bool&amp;, bool, boost::wave::util::macromap&lt;ContextT&gt;::defined_macros_type*, ContainerT*) [with IteratorT = boost::wave::util::unput_queue_iterator&lt;boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::cpplexer::lex_token&lt;&gt;, std::list&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt; &gt; &gt;; ContainerT = std::list&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt; &gt;; ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;; boost::wave::util::macromap&lt;ContextT&gt;::token_type = boost::wave::cpplexer::lex_token&lt;&gt;; typename boost::wave::util::macromap&lt;ContextT&gt;::defined_macros_type::iterator = std::_Rb_tree_iterator&lt;std::pair&lt;const boost::wave::util::flex_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt;, boost::wave::util::CowString&lt;boost::wave::util::AllocatorStringStorage&lt;char&gt; &gt; &gt;, boost::intrusive_ptr&lt;boost::wave::util::macro_definition&lt;boost::wave::cpplexer::lex_token&lt;&gt;, std::list&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt; &gt; &gt; &gt; &gt; &gt;; boost::wave::util::macromap&lt;ContextT&gt;::defined_macros_type = boost::wave::util::symbol_table&lt;boost::wave::util::flex_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt;, boost::wave::util::CowString&lt;boost::wave::util::AllocatorStringStorage&lt;char&gt; &gt; &gt;, boost::wave::util::macro_definition&lt;boost::wave::cpplexer::lex_token&lt;&gt;, std::list&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt; &gt; &gt; &gt;; typename ContextT::token_sequence_type = std::list&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt; &gt;; typename ContextT::token_type = boost::wave::cpplexer::lex_token&lt;&gt;; typename ContextT::token_type::string_type = boost::wave::util::flex_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt;, boost::wave::util::CowString&lt;boost::wave::util::AllocatorStringStorage&lt;char&gt; &gt; &gt;]’ ../boost/wave/util/cpp_macromap.hpp:636:17: required from ‘const typename ContextT::token_type&amp; boost::wave::util::macromap&lt;ContextT&gt;::expand_tokensequence_worker(ContainerT&amp;, boost::wave::util::unput_queue_iterator&lt;IteratorT, typename ContextT::token_type, ContainerT&gt;&amp;, const boost::wave::util::unput_queue_iterator&lt;IteratorT, typename ContextT::token_type, ContainerT&gt;&amp;, bool&amp;, bool) [with IteratorT = boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;; ContainerT = std::list&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt; &gt;; ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;; typename ContextT::token_type = boost::wave::cpplexer::lex_token&lt;&gt;; typename ContextT::token_type = boost::wave::cpplexer::lex_token&lt;&gt;]’ ../boost/wave/util/cpp_macromap.hpp:550:46: required from ‘const typename ContextT::token_type&amp; boost::wave::util::macromap&lt;ContextT&gt;::expand_tokensequence(IteratorT&amp;, const IteratorT&amp;, ContainerT&amp;, ContainerT&amp;, bool&amp;, bool) [with IteratorT = boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;; ContainerT = std::list&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt; &gt;; ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;; typename ContextT::token_type = boost::wave::cpplexer::lex_token&lt;&gt;]’ ../boost/wave/cpp_context.hpp:384:43: required from ‘boost::wave::context&lt;IteratorT, LexIteratorT, InputPolicyT, HooksT, DerivedT&gt;::token_type boost::wave::context&lt;IteratorT, LexIteratorT, InputPolicyT, HooksT, DerivedT&gt;::expand_tokensequence(IteratorT2&amp;, const IteratorT2&amp;, boost::wave::context&lt;IteratorT, LexIteratorT, InputPolicyT, HooksT, DerivedT&gt;::token_sequence_type&amp;, boost::wave::context&lt;IteratorT, LexIteratorT, InputPolicyT, HooksT, DerivedT&gt;::token_sequence_type&amp;, bool&amp;, bool) [with IteratorT2 = boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;; IteratorT = __gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;; LexIteratorT = boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;; InputPolicyT = boost::wave::iteration_context_policies::load_file_to_string; HooksT = trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;; DerivedT = boost::wave::this_type; boost::wave::context&lt;IteratorT, LexIteratorT, InputPolicyT, HooksT, DerivedT&gt;::token_type = boost::wave::cpplexer::lex_token&lt;&gt;; boost::wave::context&lt;IteratorT, LexIteratorT, InputPolicyT, HooksT, DerivedT&gt;::token_sequence_type = std::list&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::fast_pool_allocator&lt;boost::wave::cpplexer::lex_token&lt;&gt;, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32u, 0u&gt; &gt;; typename LexIteratorT::token_type = boost::wave::cpplexer::lex_token&lt;&gt;]’ ../boost/wave/util/cpp_iterator.hpp:863:13: required from ‘const result_type&amp; boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::pp_token() [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;; boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::result_type = boost::wave::cpplexer::lex_token&lt;&gt;]’ ../boost/wave/util/cpp_iterator.hpp:633:25: required from ‘const result_type&amp; boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::get_next_token() [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;; boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::result_type = boost::wave::cpplexer::lex_token&lt;&gt;]’ ../boost/wave/util/cpp_iterator.hpp:508:13: required from ‘const result_type&amp; boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::operator()() [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;; boost::wave::impl::pp_iterator_functor&lt;ContextT&gt;::result_type = boost::wave::cpplexer::lex_token&lt;&gt;]’ ../boost/wave/util/functor_input.hpp:124:13: required from ‘void boost::wave::util::functor_input::inner&lt;FunctorT&gt;::advance_input() [with FunctorT = boost::wave::impl::pp_iterator_functor&lt;boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt; &gt;]’ ../boost/wave/util/cpp_iterator.hpp:2568:13: required from ‘bool boost::wave::pp_iterator&lt;ContextT&gt;::force_include(const char*, bool) [with ContextT = boost::wave::context&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char&gt; &gt;, boost::wave::cpplexer::lex_iterator&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt;, boost::wave::iteration_context_policies::load_file_to_string, trace_macro_expansion&lt;boost::wave::cpplexer::lex_token&lt;&gt; &gt; &gt;]’ wave/build/../cpp.cpp:1110:68: required from here ../boost/wave/util/cpp_macromap.hpp:1417:9: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘std::size_t {aka long unsigned int}’ [-Wformat] </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/8416 Trac 1.4.3 Arfrever.FTA@… Sun, 07 Apr 2013 23:48:32 GMT <link>https://svn.boost.org/trac10/ticket/8416#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8416#comment:1</guid> <description> <p> This bug occurs also in Boost trunk. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Hartmut Kaiser</dc:creator> <pubDate>Mon, 08 Apr 2013 01:46:33 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8416#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8416#comment:2</guid> <description> <p> The warnings have already been fixed in SVN. Would you be able to provide a patch for the error? I'd gladly apply it to the main code base. </p> </description> <category>Ticket</category> </item> <item> <author>Arfrever.FTA@…</author> <pubDate>Wed, 10 Apr 2013 06:47:56 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8416#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8416#comment:3</guid> <description> <p> It seems that internal implementation of macrodefinition.resize() is broken. Currently I have no patch for it. </p> <p> A workaround is to use macrodefinition.pop_back(): </p> <pre class="wiki">--- boost/wave/util/cpp_iterator.hpp +++ boost/wave/util/cpp_iterator.hpp @@ -204,7 +204,7 @@ // get rid of trailing T_EOF if (!macrodefinition.empty() &amp;&amp; token_id(macrodefinition.back()) == T_EOF) - macrodefinition.resize(macrodefinition.size()-1); + macrodefinition.pop_back(); // If no macrodefinition is given, and the macro string does not end with a // '=', then the macro should be defined with the value '1' </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>Hartmut Kaiser</dc:creator> <pubDate>Wed, 10 Apr 2013 22:34:15 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/8416#comment:4 https://svn.boost.org/trac10/ticket/8416#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/83838" title="Wave: fix #8416: Boost 1.53.0: Wave fails to build in C++11 mode">[83838]</a>) Wave: fix <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/8416" title="#8416: Bugs: Boost 1.53.0: Wave fails to build in C++11 mode (closed: fixed)">#8416</a>: Boost 1.53.0: Wave fails to build in C++11 mode </p> Ticket