Note that there are some explanatory texts on larger screens.

plurals
  1. POC++ compiler gives pages of warnings when using boost::xpressive
    primarykey
    data
    text
    <p>I get a long list of compile warnings when trying to use <code>boost::xpressive</code>; specifically when I use <code>sregex_compiler</code>'s <code>compile()</code> function.</p> <p>I followed the <a href="http://www.boost.org/doc/libs/1_43_0/doc/html/xpressive/user_s_guide.html#boost_xpressive.user_s_guide.quick_start" rel="nofollow">documentation</a> and put together this small program:</p> <pre><code>#include &lt;iostream&gt; #include &lt;boost/xpressive/xpressive.hpp&gt; using namespace std; int main (int argc, char **argv) { bool matchResult; boost::xpressive::sregex_compiler compiler; boost::xpressive::sregex re; string str("hello world"); re = compiler.compile("hello"); // &lt;-- this line causes warnings matchResult = boost::xpressive::regex_search(str, re); cout &lt;&lt; "match result = " &lt;&lt; matchResult &lt;&lt; endl; return 0; } </code></pre> <p>When I compile, I get this long stack of warnings:</p> <pre><code>$ g++ -I /usr/local/include -o simple xpressive_simple.cc /usr/local/include/boost/xpressive/detail/core/matcher/alternate_matcher.hpp: In instantiation of 'boost::xpressive::detail::alternate_matcher&lt;boost::xpressive::detail::alternates_vector&lt;__gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;, boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;': /usr/local/include/boost/xpressive/regex_compiler.hpp:284: instantiated from 'boost::xpressive::detail::sequence&lt;BidiIter&gt; boost::xpressive::regex_compiler&lt;BidiIter, RegexTraits, CompilerTraits&gt;::parse_alternates(FwdIter&amp;, FwdIter) [with FwdIter = const char*, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, RegexTraits = boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' /usr/local/include/boost/xpressive/regex_compiler.hpp:212: instantiated from 'boost::xpressive::basic_regex&lt;BidiIter&gt; boost::xpressive::regex_compiler&lt;BidiIter, RegexTraits, CompilerTraits&gt;::compile_(FwdIter, FwdIter, boost::xpressive::regex_constants::syntax_option_type, std::forward_iterator_tag) [with FwdIter = const char*, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, RegexTraits = boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' /usr/local/include/boost/xpressive/regex_compiler.hpp:120: instantiated from 'boost::xpressive::basic_regex&lt;BidiIter&gt; boost::xpressive::regex_compiler&lt;BidiIter, RegexTraits, CompilerTraits&gt;::compile(InputIter, InputIter, boost::xpressive::regex_constants::syntax_option_type) [with InputIter = const char*, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, RegexTraits = boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' /usr/local/include/boost/xpressive/regex_compiler.hpp:139: instantiated from 'boost::xpressive::basic_regex&lt;BidiIter&gt; boost::xpressive::regex_compiler&lt;BidiIter, RegexTraits, CompilerTraits&gt;::compile(const typename boost::iterator_value&lt;Iterator&gt;::type*, boost::xpressive::regex_constants::syntax_option_type) [with BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, RegexTraits = boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' xpressive_simple.cc:13: instantiated from here /usr/local/include/boost/xpressive/detail/core/matcher/alternate_matcher.hpp:88: warning: comparison between 'enum boost::xpressive::detail::alternates_vector&lt;__gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;::&lt;anonymous&gt;' and 'enum mpl_::size_t&lt;1073741822ul&gt;::&lt;anonymous&gt;' /usr/local/include/boost/numeric/conversion/detail/meta.hpp: In instantiation of 'boost::numeric::convdetail::equal_to&lt;mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt;, mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_signed&gt; &gt;': /usr/local/include/boost/mpl/if.hpp:67: instantiated from 'boost::mpl::if_&lt;boost::numeric::convdetail::equal_to&lt;mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt;, mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_signed&gt; &gt;, boost::mpl::identity&lt;boost::numeric::convdetail::subranged_SameSign&lt;unsigned char, int&gt; &gt;, boost::mpl::eval_if&lt;boost::numeric::convdetail::equal_to&lt;mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt;, mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt; &gt;, boost::mpl::identity&lt;boost::numeric::convdetail::subranged_Sig2Unsig&lt;unsigned char, int&gt; &gt;, boost::mpl::if_&lt;boost::numeric::convdetail::equal_to&lt;mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt;, mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, unsigned_to_signed&gt; &gt;, boost::numeric::convdetail::subranged_Unsig2Sig&lt;unsigned char, int&gt;, boost::numeric::convdetail::subranged_SameSign&lt;unsigned char, int&gt; &gt; &gt; &gt;' /usr/local/include/boost/mpl/eval_if.hpp:37: instantiated from 'boost::mpl::eval_if&lt;boost::numeric::convdetail::equal_to&lt;mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt;, mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_signed&gt; &gt;, boost::mpl::identity&lt;boost::numeric::convdetail::subranged_SameSign&lt;unsigned char, int&gt; &gt;, boost::mpl::eval_if&lt;boost::numeric::convdetail::equal_to&lt;mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt;, mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt; &gt;, boost::mpl::identity&lt;boost::numeric::convdetail::subranged_Sig2Unsig&lt;unsigned char, int&gt; &gt;, boost::mpl::if_&lt;boost::numeric::convdetail::equal_to&lt;mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt;, mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, unsigned_to_signed&gt; &gt;, boost::numeric::convdetail::subranged_Unsig2Sig&lt;unsigned char, int&gt;, boost::numeric::convdetail::subranged_SameSign&lt;unsigned char, int&gt; &gt; &gt; &gt;' /usr/local/include/boost/numeric/conversion/detail/meta.hpp:82: instantiated from 'boost::numeric::convdetail::ct_switch4&lt;mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt;, mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_signed&gt;, mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt;, mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, unsigned_to_signed&gt;, boost::numeric::convdetail::subranged_SameSign&lt;unsigned char, int&gt;, boost::numeric::convdetail::subranged_Sig2Unsig&lt;unsigned char, int&gt;, boost::numeric::convdetail::subranged_Unsig2Sig&lt;unsigned char, int&gt;, boost::numeric::convdetail::subranged_SameSign&lt;unsigned char, int&gt; &gt;' /usr/local/include/boost/numeric/conversion/detail/sign_mixture.hpp:63: instantiated from 'boost::numeric::convdetail::for_sign_mixture&lt;mpl_::integral_c&lt;boost::numeric::sign_mixture_enum, signed_to_unsigned&gt;, boost::numeric::convdetail::subranged_SameSign&lt;unsigned char, int&gt;, boost::numeric::convdetail::subranged_Sig2Unsig&lt;unsigned char, int&gt;, boost::numeric::convdetail::subranged_Unsig2Sig&lt;unsigned char, int&gt;, boost::numeric::convdetail::subranged_SameSign&lt;unsigned char, int&gt; &gt;' /usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:164: instantiated from 'boost::numeric::convdetail::get_subranged_Int2Int&lt;unsigned char, int&gt;' /usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:186: instantiated from 'boost::numeric::convdetail::get_subranged_BuiltIn2BuiltIn&lt;unsigned char, int&gt;' /usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:208: instantiated from 'boost::numeric::convdetail::get_subranged&lt;unsigned char, int&gt;' /usr/local/include/boost/numeric/conversion/detail/is_subranged.hpp:227: instantiated from 'boost::numeric::convdetail::get_is_subranged&lt;unsigned char, int&gt;' /usr/local/include/boost/numeric/conversion/detail/conversion_traits.hpp:37: instantiated from 'boost::numeric::convdetail::non_trivial_traits_impl&lt;unsigned char, int&gt;' /usr/local/include/boost/numeric/conversion/conversion_traits.hpp:23: instantiated from 'boost::numeric::conversion_traits&lt;unsigned char, int&gt;' /usr/local/include/boost/xpressive/detail/dynamic/parse_charset.hpp:85: instantiated from 'boost::xpressive::detail::escape_value&lt;typename boost::iterator_value&lt;Iterator&gt;::type, typename CompilerTraits::regex_traits::char_class_type&gt; boost::xpressive::detail::parse_escape(FwdIter&amp;, FwdIter, CompilerTraits&amp;) [with FwdIter = const char*, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' /usr/local/include/boost/xpressive/regex_compiler.hpp:726: instantiated from 'boost::xpressive::detail::escape_value&lt;typename boost::iterator_value&lt;Iterator&gt;::type, typename RegexTraits::char_class_type&gt; boost::xpressive::regex_compiler&lt;BidiIter, RegexTraits, CompilerTraits&gt;::parse_escape(FwdIter&amp;, FwdIter) [with FwdIter = const char*, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, RegexTraits = boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' /usr/local/include/boost/xpressive/regex_compiler.hpp:522: instantiated from 'boost::xpressive::detail::sequence&lt;BidiIter&gt; boost::xpressive::regex_compiler&lt;BidiIter, RegexTraits, CompilerTraits&gt;::parse_atom(FwdIter&amp;, FwdIter) [with FwdIter = const char*, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, RegexTraits = boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' /usr/local/include/boost/xpressive/regex_compiler.hpp:589: instantiated from 'boost::xpressive::detail::sequence&lt;BidiIter&gt; boost::xpressive::regex_compiler&lt;BidiIter, RegexTraits, CompilerTraits&gt;::parse_quant(FwdIter&amp;, FwdIter) [with FwdIter = const char*, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, RegexTraits = boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' /usr/local/include/boost/xpressive/regex_compiler.hpp:622: instantiated from 'boost::xpressive::detail::sequence&lt;BidiIter&gt; boost::xpressive::regex_compiler&lt;BidiIter, RegexTraits, CompilerTraits&gt;::parse_sequence(FwdIter&amp;, FwdIter) [with FwdIter = const char*, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, RegexTraits = boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' /usr/local/include/boost/xpressive/regex_compiler.hpp:281: instantiated from 'boost::xpressive::detail::sequence&lt;BidiIter&gt; boost::xpressive::regex_compiler&lt;BidiIter, RegexTraits, CompilerTraits&gt;::parse_alternates(FwdIter&amp;, FwdIter) [with FwdIter = const char*, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, RegexTraits = boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' /usr/local/include/boost/xpressive/regex_compiler.hpp:212: instantiated from 'boost::xpressive::basic_regex&lt;BidiIter&gt; boost::xpressive::regex_compiler&lt;BidiIter, RegexTraits, CompilerTraits&gt;::compile_(FwdIter, FwdIter, boost::xpressive::regex_constants::syntax_option_type, std::forward_iterator_tag) [with FwdIter = const char*, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, RegexTraits = boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' /usr/local/include/boost/xpressive/regex_compiler.hpp:120: instantiated from 'boost::xpressive::basic_regex&lt;BidiIter&gt; boost::xpressive::regex_compiler&lt;BidiIter, RegexTraits, CompilerTraits&gt;::compile(InputIter, InputIter, boost::xpressive::regex_constants::syntax_option_type) [with InputIter = const char*, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, RegexTraits = boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, CompilerTraits = boost::xpressive::compiler_traits&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt;]' &lt;snipped&gt; /usr/local/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp:90: instantiated from 'bool boost::xpressive::detail::simple_repeat_matcher&lt;Xpr, Greedy&gt;::match(boost::xpressive::detail::match_state&lt;BidiIter&gt;&amp;, const Next&amp;) const [with BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, Next = boost::xpressive::detail::matchable_ex&lt;__gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;, Xpr = boost::xpressive::detail::matcher_wrapper&lt;boost::xpressive::detail::charset_matcher&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, mpl_::bool_&lt;true&gt;, boost::xpressive::detail::basic_chset&lt;char&gt; &gt; &gt;, Greedy = mpl_::bool_&lt;true&gt;]' /usr/local/include/boost/xpressive/detail/dynamic/dynamic.hpp:80: instantiated from 'bool boost::xpressive::detail::dynamic_xpression&lt;Matcher, BidiIter&gt;::match(boost::xpressive::detail::match_state&lt;BidiIter&gt;&amp;) const [with Matcher = boost::xpressive::detail::simple_repeat_matcher&lt;boost::xpressive::detail::matcher_wrapper&lt;boost::xpressive::detail::charset_matcher&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, mpl_::bool_&lt;true&gt;, boost::xpressive::detail::basic_chset&lt;char&gt; &gt; &gt;, mpl_::bool_&lt;true&gt; &gt;, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;]' xpressive_simple.cc:18: instantiated from here /usr/local/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp:97: warning: comparison between 'enum boost::xpressive::detail::quant_style&lt;quant_fixed_width, 1ul, true&gt;::&lt;anonymous&gt;' and 'enum mpl_::size_t&lt;1073741822ul&gt;::&lt;anonymous&gt;' /usr/local/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp: In member function 'bool boost::xpressive::detail::simple_repeat_matcher&lt;Xpr, Greedy&gt;::match_(boost::xpressive::detail::match_state&lt;BidiIter&gt;&amp;, const Next&amp;, boost::xpressive::detail::greedy_slow_tag) const [with BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, Next = boost::xpressive::detail::matchable_ex&lt;__gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;, Xpr = boost::xpressive::detail::matcher_wrapper&lt;boost::xpressive::detail::charset_matcher&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, mpl_::bool_&lt;false&gt;, boost::xpressive::detail::basic_chset&lt;char&gt; &gt; &gt;, Greedy = mpl_::bool_&lt;true&gt;]': /usr/local/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp:90: instantiated from 'bool boost::xpressive::detail::simple_repeat_matcher&lt;Xpr, Greedy&gt;::match(boost::xpressive::detail::match_state&lt;BidiIter&gt;&amp;, const Next&amp;) const [with BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, Next = boost::xpressive::detail::matchable_ex&lt;__gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;, Xpr = boost::xpressive::detail::matcher_wrapper&lt;boost::xpressive::detail::charset_matcher&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, mpl_::bool_&lt;false&gt;, boost::xpressive::detail::basic_chset&lt;char&gt; &gt; &gt;, Greedy = mpl_::bool_&lt;true&gt;]' /usr/local/include/boost/xpressive/detail/dynamic/dynamic.hpp:80: instantiated from 'bool boost::xpressive::detail::dynamic_xpression&lt;Matcher, BidiIter&gt;::match(boost::xpressive::detail::match_state&lt;BidiIter&gt;&amp;) const [with Matcher = boost::xpressive::detail::simple_repeat_matcher&lt;boost::xpressive::detail::matcher_wrapper&lt;boost::xpressive::detail::charset_matcher&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, mpl_::bool_&lt;false&gt;, boost::xpressive::detail::basic_chset&lt;char&gt; &gt; &gt;, mpl_::bool_&lt;true&gt; &gt;, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;]' xpressive_simple.cc:18: instantiated from here /usr/local/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp:97: warning: comparison between 'enum boost::xpressive::detail::quant_style&lt;quant_fixed_width, 1ul, true&gt;::&lt;anonymous&gt;' and 'enum mpl_::size_t&lt;1073741822ul&gt;::&lt;anonymous&gt;' /usr/local/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp: In member function 'bool boost::xpressive::detail::simple_repeat_matcher&lt;Xpr, Greedy&gt;::match_(boost::xpressive::detail::match_state&lt;BidiIter&gt;&amp;, const Next&amp;, boost::xpressive::detail::greedy_slow_tag) const [with BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, Next = boost::xpressive::detail::matchable_ex&lt;__gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;, Xpr = boost::xpressive::detail::matcher_wrapper&lt;boost::xpressive::detail::charset_matcher&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, mpl_::bool_&lt;true&gt;, boost::xpressive::detail::compound_charset&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt; &gt; &gt;, Greedy = mpl_::bool_&lt;true&gt;]': /usr/local/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp:90: instantiated from 'bool boost::xpressive::detail::simple_repeat_matcher&lt;Xpr, Greedy&gt;::match(boost::xpressive::detail::match_state&lt;BidiIter&gt;&amp;, const Next&amp;) const [with BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, Next = boost::xpressive::detail::matchable_ex&lt;__gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;, Xpr = boost::xpressive::detail::matcher_wrapper&lt;boost::xpressive::detail::charset_matcher&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, mpl_::bool_&lt;true&gt;, boost::xpressive::detail::compound_charset&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt; &gt; &gt;, Greedy = mpl_::bool_&lt;true&gt;]' /usr/local/include/boost/xpressive/detail/dynamic/dynamic.hpp:80: instantiated from 'bool boost::xpressive::detail::dynamic_xpression&lt;Matcher, BidiIter&gt;::match(boost::xpressive::detail::match_state&lt;BidiIter&gt;&amp;) const [with Matcher = boost::xpressive::detail::simple_repeat_matcher&lt;boost::xpressive::detail::matcher_wrapper&lt;boost::xpressive::detail::charset_matcher&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, mpl_::bool_&lt;true&gt;, boost::xpressive::detail::compound_charset&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt; &gt; &gt;, mpl_::bool_&lt;true&gt; &gt;, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;]' xpressive_simple.cc:18: instantiated from here /usr/local/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp:97: warning: comparison between 'enum boost::xpressive::detail::quant_style&lt;quant_fixed_width, 1ul, true&gt;::&lt;anonymous&gt;' and 'enum mpl_::size_t&lt;1073741822ul&gt;::&lt;anonymous&gt;' /usr/local/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp: In member function 'bool boost::xpressive::detail::simple_repeat_matcher&lt;Xpr, Greedy&gt;::match_(boost::xpressive::detail::match_state&lt;BidiIter&gt;&amp;, const Next&amp;, boost::xpressive::detail::greedy_slow_tag) const [with BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, Next = boost::xpressive::detail::matchable_ex&lt;__gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;, Xpr = boost::xpressive::detail::matcher_wrapper&lt;boost::xpressive::detail::charset_matcher&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, mpl_::bool_&lt;false&gt;, boost::xpressive::detail::compound_charset&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt; &gt; &gt;, Greedy = mpl_::bool_&lt;true&gt;]': /usr/local/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp:90: instantiated from 'bool boost::xpressive::detail::simple_repeat_matcher&lt;Xpr, Greedy&gt;::match(boost::xpressive::detail::match_state&lt;BidiIter&gt;&amp;, const Next&amp;) const [with BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, Next = boost::xpressive::detail::matchable_ex&lt;__gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;, Xpr = boost::xpressive::detail::matcher_wrapper&lt;boost::xpressive::detail::charset_matcher&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, mpl_::bool_&lt;false&gt;, boost::xpressive::detail::compound_charset&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt; &gt; &gt;, Greedy = mpl_::bool_&lt;true&gt;]' /usr/local/include/boost/xpressive/detail/dynamic/dynamic.hpp:80: instantiated from 'bool boost::xpressive::detail::dynamic_xpression&lt;Matcher, BidiIter&gt;::match(boost::xpressive::detail::match_state&lt;BidiIter&gt;&amp;) const [with Matcher = boost::xpressive::detail::simple_repeat_matcher&lt;boost::xpressive::detail::matcher_wrapper&lt;boost::xpressive::detail::charset_matcher&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt;, mpl_::bool_&lt;false&gt;, boost::xpressive::detail::compound_charset&lt;boost::xpressive::regex_traits&lt;char, boost::xpressive::cpp_regex_traits&lt;char&gt; &gt; &gt; &gt; &gt;, mpl_::bool_&lt;true&gt; &gt;, BidiIter = __gnu_cxx::__normal_iterator&lt;const char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;]' xpressive_simple.cc:18: instantiated from here /usr/local/include/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp:97: warning: comparison between 'enum boost::xpressive::detail::quant_style&lt;quant_fixed_width, 1ul, true&gt;::&lt;anonymous&gt;' and 'enum mpl_::size_t&lt;1073741822ul&gt;::&lt;anonymous&gt;' </code></pre> <p>What am I doing in the program that's causing these warnings to show up?</p> <p>Edit: I'm using boost version 1.43 and g++ version 4.2.1.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload