-
-
Save anonymous/63bab7cee511c6d62fa2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[1:55pm][wlynch@apple /tmp] /opt/llvm/3.2/bin/clang++ -gcc-toolchain /opt/gcc/4.7.2 -std=gnu++11 foo.cc -I /opt/boost/1.53.0/include/ -DBOOST_SPIRIT_USE_PHOENIX_V3 -DBOOST_SPIRIT_ACTIONS_ALLOW_ATTR_COMPAT -DBOOST_SPIRIT_DEBUG | |
In file included from foo.cc:2: | |
In file included from /opt/boost/1.53.0/include/boost/spirit/include/qi.hpp:16: | |
In file included from /opt/boost/1.53.0/include/boost/spirit/home/qi.hpp:14: | |
In file included from /opt/boost/1.53.0/include/boost/spirit/home/qi/action.hpp:14: | |
In file included from /opt/boost/1.53.0/include/boost/spirit/home/qi/action/action.hpp:21: | |
/opt/boost/1.53.0/include/boost/spirit/home/support/action_dispatch.hpp:142:13: error: no matching function for call to 'do_call' | |
do_call(f, fwd_tag<typename std::remove_reference<A>::type>()...) | |
^~~~~~~ | |
/opt/boost/1.53.0/include/boost/spirit/home/support/action_dispatch.hpp:153:13: note: in instantiation of function template specialization | |
'boost::spirit::traits::action_dispatch<boost::spirit::qi::kleene<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, int (), | |
boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> > > >::caller<const std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, std::allocator<int> >)> | |
(boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, | |
boost::phoenix::actor<boost::spirit::argument<0> >)> &, std::vector<int, std::allocator<int> > &, boost::spirit::context<boost::fusion::cons<std::shared_ptr<Object> &, boost::fusion::nil>, | |
boost::fusion::vector0<void> > &, bool &>' requested here | |
caller(f, attr, context, pass); | |
^ | |
/opt/boost/1.53.0/include/boost/spirit/home/qi/action/action.hpp:126:21: note: in instantiation of function template specialization | |
'boost::spirit::traits::action_dispatch<boost::spirit::qi::kleene<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, int (), | |
boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> > > >::operator()<std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, std::allocator<int> >)> | |
(boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, | |
boost::phoenix::actor<boost::spirit::argument<0> >)>, std::vector<int, std::allocator<int> >, boost::spirit::context<boost::fusion::cons<std::shared_ptr<Object> &, boost::fusion::nil>, | |
boost::fusion::vector0<void> > >' requested here | |
if (traits::action_dispatch<Subject>()(f, attr, context)) | |
^ | |
/opt/boost/1.53.0/include/boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp:33:22: note: in instantiation of function template specialization | |
'boost::spirit::qi::action<boost::spirit::qi::kleene<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, int (), | |
boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> > >, std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, std::allocator<int> >)> | |
(boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, | |
boost::phoenix::actor<boost::spirit::argument<0> >)> >::parse<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, boost::spirit::context<boost::fusion::cons<std::shared_ptr<Object> &, | |
boost::fusion::nil>, boost::fusion::vector0<void> >, boost::spirit::unused_type>' requested here | |
return p.parse(first, last, context, skipper, unused); | |
^ | |
/opt/boost/1.53.0/include/boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp:53:20: note: in instantiation of function template specialization | |
'boost::spirit::qi::detail::parser_binder<boost::spirit::qi::action<boost::spirit::qi::kleene<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, | |
std::basic_string<char> >, int (), boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> > >, std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, | |
std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > | |
>, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)> >, mpl_::bool_<false> >::call<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, boost::spirit::unused_type, | |
boost::spirit::context<boost::fusion::cons<std::shared_ptr<Object> &, boost::fusion::nil>, boost::fusion::vector0<void> > >' requested here | |
return call(first, last, context, skipper, auto_rule()); | |
^ | |
/opt/boost/1.53.0/include/boost/function/function_template.hpp:132:18: note: in instantiation of function template specialization | |
'boost::spirit::qi::detail::parser_binder<boost::spirit::qi::action<boost::spirit::qi::kleene<boost::spirit::qi::reference<const boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, | |
std::basic_string<char> >, int (), boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> > >, std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, | |
std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > | |
>, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)> >, mpl_::bool_<false> >::operator()<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, boost::spirit::unused_type, | |
boost::spirit::context<boost::fusion::cons<std::shared_ptr<Object> &, boost::fusion::nil>, boost::fusion::vector0<void> > >' requested here | |
return (*f)(BOOST_FUNCTION_ARGS); | |
^ | |
/opt/boost/1.53.0/include/boost/function/function_template.hpp:934:53: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) | |
{ { &manager_type::manage }, &invoker_type::invoke }; | |
^ | |
/opt/boost/1.53.0/include/boost/function/function_template.hpp:1069:5: note: in instantiation of function template specialization 'boost::function4<bool, __gnu_cxx::__normal_iterator<char *, | |
std::basic_string<char> > &, const __gnu_cxx::__normal_iterator<char *, std::basic_string<char> > &, boost::spirit::context<boost::fusion::cons<std::shared_ptr<Object> &, boost::fusion::nil>, | |
boost::fusion::vector0<void> > &, const boost::spirit::unused_type | |
&>::function4<boost::spirit::qi::detail::parser_binder<boost::spirit::qi::action<boost::spirit::qi::kleene<boost::spirit::qi::reference<const | |
boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, int (), boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> > >, | |
std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)> >, mpl_::bool_<false> > >' requested here | |
base_type(f) | |
^ | |
/opt/boost/1.53.0/include/boost/function/function_template.hpp:1124:5: note: in instantiation of function template specialization 'boost::function<bool (__gnu_cxx::__normal_iterator<char *, | |
std::basic_string<char> > &, const __gnu_cxx::__normal_iterator<char *, std::basic_string<char> > &, boost::spirit::context<boost::fusion::cons<std::shared_ptr<Object> &, boost::fusion::nil>, | |
boost::fusion::vector0<void> > &, const boost::spirit::unused_type | |
&)>::function<boost::spirit::qi::detail::parser_binder<boost::spirit::qi::action<boost::spirit::qi::kleene<boost::spirit::qi::reference<const | |
boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, int (), boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> > >, | |
std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)> >, mpl_::bool_<false> > >' requested here | |
self_type(f).swap(*this); | |
^ | |
/opt/boost/1.53.0/include/boost/spirit/home/qi/nonterminal/rule.hpp:182:19: note: in instantiation of function template specialization 'boost::function<bool (__gnu_cxx::__normal_iterator<char *, | |
std::basic_string<char> > &, const __gnu_cxx::__normal_iterator<char *, std::basic_string<char> > &, boost::spirit::context<boost::fusion::cons<std::shared_ptr<Object> &, boost::fusion::nil>, | |
boost::fusion::vector0<void> > &, const boost::spirit::unused_type | |
&)>::operator=<boost::spirit::qi::detail::parser_binder<boost::spirit::qi::action<boost::spirit::qi::kleene<boost::spirit::qi::reference<const | |
boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, int (), boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> > >, | |
std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)> >, mpl_::bool_<false> > >' requested here | |
lhs.f = detail::bind_parser<Auto>( | |
^ | |
/opt/boost/1.53.0/include/boost/spirit/home/qi/nonterminal/rule.hpp:220:13: note: in instantiation of function template specialization 'boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, | |
std::basic_string<char> >, std::shared_ptr<Object> (), boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type>::define<mpl_::bool_<false>, | |
boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, int (), boost::spirit::unused_type, boost::spirit::unused_type, | |
boost::spirit::unused_type> &>, 1> &, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, | |
std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > | |
>, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)> &>, 0> >, 2> >' requested here | |
define<mpl::false_>(*this, expr, traits::matches<qi::domain, Expr>()); | |
^ | |
foo.cc:23:3: note: in instantiation of function template specialization 'boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, std::shared_ptr<Object> (), | |
boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type>::operator=<boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript, boost::proto::argsns_::list2<const | |
boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, int (), | |
boost::spirit::unused_type, boost::spirit::unused_type, boost::spirit::unused_type> &>, 1> &, boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<const | |
std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)> &>, 0> >, 2> >' requested here | |
= (*integer) [bind(&Object::initialize, *_val, _1)]; | |
^ | |
/opt/boost/1.53.0/include/boost/spirit/home/support/action_dispatch.hpp:104:21: note: candidate template ignored: substitution failure [with F = const std::_Bind<std::_Mem_fn<void | |
(Object::*)(std::vector<int, std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)> &]: no matching function for call to object of type | |
'const std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)>' | |
static auto do_call(F && f, ...) | |
^ | |
/opt/boost/1.53.0/include/boost/spirit/home/support/action_dispatch.hpp:111:21: note: candidate template ignored: substitution failure [with F = const std::_Bind<std::_Mem_fn<void | |
(Object::*)(std::vector<int, std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)> &, A = std::vector<int, std::allocator<int> >]: no | |
matching function for call to object of type 'const std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, std::allocator<int> >)> | |
(boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, | |
boost::phoenix::actor<boost::spirit::argument<0> >)>' | |
static auto do_call(F && f, fwd_tag<A>, ...) | |
^ | |
/opt/boost/1.53.0/include/boost/spirit/home/support/action_dispatch.hpp:119:21: note: candidate template ignored: substitution failure [with F = const std::_Bind<std::_Mem_fn<void | |
(Object::*)(std::vector<int, std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)> &, A = std::vector<int, std::allocator<int> >, B = | |
boost::spirit::context<boost::fusion::cons<std::shared_ptr<Object> &, boost::fusion::nil>, boost::fusion::vector0<void> >]: no matching function for call to object of type 'const | |
std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)>' | |
static auto do_call(F && f, fwd_tag<A>, fwd_tag<B>, ...) | |
^ | |
/opt/boost/1.53.0/include/boost/spirit/home/support/action_dispatch.hpp:128:21: note: candidate template ignored: substitution failure [with F = const std::_Bind<std::_Mem_fn<void | |
(Object::*)(std::vector<int, std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)> &, A = std::vector<int, std::allocator<int> >, B = | |
boost::spirit::context<boost::fusion::cons<std::shared_ptr<Object> &, boost::fusion::nil>, boost::fusion::vector0<void> >, C = bool]: no matching function for call to object of type 'const | |
std::_Bind<std::_Mem_fn<void (Object::*)(std::vector<int, std::allocator<int> >)> (boost::phoenix::actor<boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference, | |
boost::proto::argsns_::list1<boost::phoenix::actor<boost::spirit::attribute<0> > >, 1> >, boost::phoenix::actor<boost::spirit::argument<0> >)>' | |
static auto do_call(F && f, fwd_tag<A>, fwd_tag<B>, fwd_tag<C>, ...) | |
^ | |
1 error generated. | |
[1:57pm][wlynch@apple /tmp] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment