[Boost-bugs] [Boost C++ Libraries] #4109: xpressive compile error

Subject: [Boost-bugs] [Boost C++ Libraries] #4109: xpressive compile error
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-04-17 17:54:44


#4109: xpressive compile error
----------------------------------------+-----------------------------------
 Reporter: Duzy Chan <duzy@…> | Owner: eric_niebler
     Type: Bugs | Status: new
Milestone: Boost 1.43.0 | Component: xpressive
  Version: Boost 1.42.0 | Severity: Problem
 Keywords: is_pure |
----------------------------------------+-----------------------------------
 I'm using xpressive to parse my URI, but got errors as follow, I'm using
 MinGW GCC 4.5:

 In file included from
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/detail/static/grammar.hpp:20:0,
                  from
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/detail/static/compile.hpp:27,
                  from
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/regex_primitives.hpp:32,
                  from
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/xpressive_static.hpp:24,
                  from
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/src/http/pre/uri.h:12,
                  from
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/src/http/uri.cpp:10:
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/detail/static/is_pure.hpp:
 In instantiation of
 'boost::xpressive::detail::use_simple_repeat<boost::proto::_child_c<0>,
 char>':
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:85:5:
 instantiated from 'const int
 boost::mpl::aux::template_arity_impl<boost::xpressive::detail::use_simple_repeat<boost::proto::_child_c<0>,
 char>, 1>::value'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:93:5:
 instantiated from 'const int
 boost::mpl::aux::template_arity<boost::xpressive::detail::use_simple_repeat<boost::proto::_child_c<0>,
 char> >::value'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:98:30:
 instantiated from
 'boost::mpl::aux::template_arity<boost::xpressive::detail::use_simple_repeat<boost::proto::_child_c<0>,
 char> >'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/proto/traits.hpp:104:9:
 instantiated from
 'boost::proto::is_callable<boost::xpressive::detail::use_simple_repeat<boost::proto::_child_c<0>,
 char> >'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/proto/transform/make.hpp:243:84:
 instantiated from
 'boost::proto::make<boost::xpressive::detail::use_simple_repeat<boost::proto::_child_c<0>,
 char> >::impl<const
 boost::proto::exprns_::expr<boost::xpressive::detail::generic_quant_tag<2u,
 2u>, boost::proto::argsns_::list1<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 1l>&,
 boost::xpressive::detail::static_xpression<boost::xpressive::detail::alternate_end_matcher,
 boost::xpressive::detail::no_next>,
 boost::xpressive::detail::xpression_visitor<__gnu_cxx::__normal_iterator<const
 char*, std::basic_string<char> >, mpl_::bool_<false>,
 boost::xpressive::cpp_regex_traits<char> >&>'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/proto/matches.hpp:692:21:
 [ skipping 21 instantiation contexts ]
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/detail/static/compile.hpp:50:9:
 instantiated from 'void
 boost::xpressive::detail::static_compile_impl2(const Xpr&, const
 boost::shared_ptr<boost::xpressive::detail::regex_impl<BidiIter> >&, const
 Traits&) [with Xpr =
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&, const boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&, const boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char>, 0l>&, const
 boost::proto::exprns_::expr<boost::xpressive::detail::generic_quant_tag<2u,
 2u>, boost::proto::argsns_::list1<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 1l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char>, 0l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char [3]>, 0l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&>, 2l>&>, 2l>, BidiIter = __gnu_cxx::__normal_iterator<const char*,
 std::basic_string<char> >, Traits =
 boost::xpressive::cpp_regex_traits<char>]'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/detail/static/compile.hpp:79:9:
 instantiated from 'typename
 boost::disable_if<boost::proto::result_of::matches<Xpr,
 boost::xpressive::detail::XpressiveLocaleModifier> >::type
 boost::xpressive::detail::static_compile_impl1(const Xpr&, const
 boost::shared_ptr<boost::xpressive::detail::regex_impl<BidiIter> >&) [with
 Xpr = boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&, const boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&, const boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char>, 0l>&, const
 boost::proto::exprns_::expr<boost::xpressive::detail::generic_quant_tag<2u,
 2u>, boost::proto::argsns_::list1<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 1l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char>, 0l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char [3]>, 0l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&>, 2l>&>, 2l>, BidiIter = __gnu_cxx::__normal_iterator<const char*,
 std::basic_string<char> >, typename
 boost::disable_if<boost::proto::result_of::matches<Xpr,
 boost::xpressive::detail::XpressiveLocaleModifier> >::type = void]'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/detail/static/compile.hpp:99:9:
 instantiated from 'void boost::xpressive::detail::static_compile(const
 Xpr&, const
 boost::shared_ptr<boost::xpressive::detail::regex_impl<BidiIter> >&) [with
 Xpr = boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&, const boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&, const boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char>, 0l>&, const
 boost::proto::exprns_::expr<boost::xpressive::detail::generic_quant_tag<2u,
 2u>, boost::proto::argsns_::list1<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 1l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char>, 0l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char [3]>, 0l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&>, 2l>&>, 2l>, BidiIter = __gnu_cxx::__normal_iterator<const char*,
 std::basic_string<char> >]'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/basic_regex.hpp:252:9:
 instantiated from 'void
 boost::xpressive::basic_regex<BidiIter>::compile_(const Expr&,
 mpl_::true_) [with Expr =
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&, const boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&, const boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char>, 0l>&, const
 boost::proto::exprns_::expr<boost::xpressive::detail::generic_quant_tag<2u,
 2u>, boost::proto::argsns_::list1<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 1l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char>, 0l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char [3]>, 0l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&>, 2l>&>, 2l>, BidiIter = __gnu_cxx::__normal_iterator<const char*,
 std::basic_string<char> >, mpl_::true_ = mpl_::bool_<true>]'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/basic_regex.hpp:133:9:
 instantiated from 'boost::xpressive::basic_regex<BidiIter>&
 boost::xpressive::basic_regex<BidiIter>::operator=(const Expr&) [with Expr
 = boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&, const boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&, const boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char>, 0l>&, const
 boost::proto::exprns_::expr<boost::xpressive::detail::generic_quant_tag<2u,
 2u>, boost::proto::argsns_::list1<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 1l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char>, 0l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::posix_charset_placeholder>,
 0l>&>, 2l>&>, 2l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::shift_right,
 boost::proto::argsns_::list2<const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<char [3]>, 0l>&, const
 boost::proto::exprns_::expr<boost::proto::tag::terminal,
 boost::proto::argsns_::term<boost::xpressive::detail::range_placeholder<char>
>, 0l>&>, 2l>&>, 2l>, BidiIter = __gnu_cxx::__normal_iterator<const char*,
 std::basic_string<char> >]'
 '''c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/src/http/uri.cpp:109:58:
 instantiated from here'''
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/detail/static/is_pure.hpp:201:5:
 error: no type named 'proto_tag' in 'struct boost::proto::_child_c<0>'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/detail/static/is_pure.hpp:203:9:
 error: no type named 'proto_tag' in 'struct boost::proto::_child_c<0>'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/detail/static/is_pure.hpp:203:9:
 error: no type named 'proto_tag' in 'struct boost::proto::_child_c<0>'
 c:/tools/msys/1.0/home/duzy/dev/ds/apps/MailerPro/../../../../open/boost_1_42_0/boost/xpressive/detail/static/is_pure.hpp:203:9:
 error: creating pointer to member of non-class type '<type error>'

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4109>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:02 UTC