Created
October 2, 2015 02:48
-
-
Save ghaskins/5e4c8eed37a2c87631de 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
ghaskins@ubuntu:~/sandbox/git/spirit$ g++ -g -O0 -std=c++11 -o spirittest main.cc | |
In file included from /usr/include/boost/spirit/home/qi/auxiliary/attr.hpp:18:0, | |
from /usr/include/boost/spirit/home/qi/auxiliary.hpp:19, | |
from /usr/include/boost/spirit/home/qi.hpp:16, | |
from /usr/include/boost/spirit/include/qi.hpp:16, | |
from main.cc:8: | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp: In instantiation of ‘static void boost::spirit::traits::assign_to_attribute_from_value<Attribute, T, Enable>::call(const T_&, Attribute&, mpl_::false_) [with T_ = unsigned int; Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>; T = unsigned int; Enable = void; mpl_::false_ = mpl_::bool_<false>]’: | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp:170:54: required from ‘static void boost::spirit::traits::assign_to_attribute_from_value<Attribute, T, Enable>::call(const T&, Attribute&) [with Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>; T = unsigned int; Enable = void]’ | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp:359:73: required from ‘void boost::spirit::traits::detail::assign_to(const T&, Attribute&, mpl_::false_) [with T = unsigned int; Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>; mpl_::false_ = mpl_::bool_<false>]’ | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp:382:64: required from ‘void boost::spirit::traits::assign_to(const T&, Attribute&) [with T = unsigned int; Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>]’ | |
/usr/include/boost/spirit/home/qi/numeric/numeric_utils.hpp:87:52: required from ‘static bool boost::spirit::qi::extract_uint<T, Radix, MinDigits, MaxDigits, Accumulate>::call(Iterator&, const Iterator&, Attribute&) [with Iterator = boost::spirit::basic_istream_iterator<char>; Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>; T = unsigned int; unsigned int Radix = 10u; unsigned int MinDigits = 1u; int MaxDigits = -1; bool Accumulate = false]’ | |
/usr/include/boost/spirit/home/qi/numeric/uint.hpp:242:52: required from ‘bool boost::spirit::qi::any_uint_parser<T, Radix, MinDigits, MaxDigits>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = boost::spirit::basic_istream_iterator<char>; Context = boost::spirit::context<boost::fusion::cons<Ast::Foo&, boost::fusion::nil_>, boost::fusion::vector0<> >; Skipper = boost::spirit::unused_type; Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>; T = unsigned int; unsigned int Radix = 10u; unsigned int MinDigits = 1u; int MaxDigits = -1]’ | |
/usr/include/boost/spirit/home/qi/detail/fail_function.hpp:38:20: [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] | |
/usr/include/boost/function/function_template.hpp:1077:16: required from ‘boost::function<R(T0, T1, T2, T3)>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::eol_parser, boost::fusion::nil_> > > > >, mpl_::bool_<false> >; R = bool; T0 = boost::spirit::basic_istream_iterator<char>&; T1 = const boost::spirit::basic_istream_iterator<char>&; T2 = boost::spirit::context<boost::fusion::cons<Ast::Foo&, boost::fusion::nil_>, boost::fusion::vector0<> >&; T3 = const boost::spirit::unused_type&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’ | |
/usr/include/boost/function/function_template.hpp:1132:5: required from ‘typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type boost::function<R(T0, T1, T2, T3)>::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::eol_parser, boost::fusion::nil_> > > > >, mpl_::bool_<false> >; R = bool; T0 = boost::spirit::basic_istream_iterator<char>&; T1 = const boost::spirit::basic_istream_iterator<char>&; T2 = boost::spirit::context<boost::fusion::cons<Ast::Foo&, boost::fusion::nil_>, boost::fusion::vector0<> >&; T3 = const boost::spirit::unused_type&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type = boost::function<bool(boost::spirit::basic_istream_iterator<char>&, const boost::spirit::basic_istream_iterator<char>&, boost::spirit::context<boost::fusion::cons<Ast::Foo&, boost::fusion::nil_>, boost::fusion::vector0<> >&, const boost::spirit::unused_type&)>&]’ | |
/usr/include/boost/spirit/home/qi/nonterminal/rule.hpp:183:19: required from ‘static void boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>::define(boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>&, const Expr&, mpl_::true_) [with Auto = mpl_::bool_<false>; Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit, boost::fusion::vector1<char> > >, 0l>&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::uint_>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0l>&>, 2l>; Iterator = boost::spirit::basic_istream_iterator<char>; T1 = Ast::Foo(); T2 = boost::spirit::unused_type; T3 = boost::spirit::unused_type; T4 = boost::spirit::unused_type; mpl_::true_ = mpl_::bool_<true>]’ | |
/usr/include/boost/spirit/home/qi/nonterminal/rule.hpp:221:19: required from ‘boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>& boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit, boost::fusion::vector1<char> > >, 0l>&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::uint_>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0l>&>, 2l>; Iterator = boost::spirit::basic_istream_iterator<char>; T1 = Ast::Foo(); T2 = boost::spirit::unused_type; T3 = boost::spirit::unused_type; T4 = boost::spirit::unused_type]’ | |
main.cc:58:13: required from ‘foo_grammar<Iterator>::foo_grammar() [with Iterator = boost::spirit::basic_istream_iterator<char>]’ | |
main.cc:82:19: required from here | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp:152:18: error: no matching function for call to ‘boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>::adt_attribute_proxy(const unsigned int&)’ | |
attr = static_cast<Attribute>(val); | |
^ | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp:152:18: note: candidates are: | |
In file included from /usr/include/boost/fusion/adapted/adt/adapt_adt.hpp:39:0, | |
from /usr/include/boost/fusion/include/adapt_adt.hpp:12, | |
from main.cc:14: | |
main.cc:43:1: note: constexpr boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>::adt_attribute_proxy(Ast::Foo&) | |
BOOST_FUSION_ADAPT_ADT( | |
^ | |
main.cc:43:1: note: no known conversion for argument 1 from ‘const unsigned int’ to ‘Ast::Foo&’ | |
main.cc:43:1: note: constexpr boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>::adt_attribute_proxy(const boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>&) | |
BOOST_FUSION_ADAPT_ADT( | |
^ | |
main.cc:43:1: note: no known conversion for argument 1 from ‘const unsigned int’ to ‘const boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>&’ | |
main.cc:43:1: note: constexpr boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>::adt_attribute_proxy(boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>&&) | |
main.cc:43:1: note: no known conversion for argument 1 from ‘const unsigned int’ to ‘boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 0, false>&&’ | |
In file included from /usr/include/boost/spirit/home/qi/auxiliary/attr.hpp:18:0, | |
from /usr/include/boost/spirit/home/qi/auxiliary.hpp:19, | |
from /usr/include/boost/spirit/home/qi.hpp:16, | |
from /usr/include/boost/spirit/include/qi.hpp:16, | |
from main.cc:8: | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp: In instantiation of ‘static void boost::spirit::traits::assign_to_attribute_from_value<Attribute, T, Enable>::call(const T_&, Attribute&, mpl_::false_) [with T_ = unsigned int; Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>; T = unsigned int; Enable = void; mpl_::false_ = mpl_::bool_<false>]’: | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp:170:54: required from ‘static void boost::spirit::traits::assign_to_attribute_from_value<Attribute, T, Enable>::call(const T&, Attribute&) [with Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>; T = unsigned int; Enable = void]’ | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp:359:73: required from ‘void boost::spirit::traits::detail::assign_to(const T&, Attribute&, mpl_::false_) [with T = unsigned int; Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>; mpl_::false_ = mpl_::bool_<false>]’ | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp:382:64: required from ‘void boost::spirit::traits::assign_to(const T&, Attribute&) [with T = unsigned int; Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>]’ | |
/usr/include/boost/spirit/home/qi/numeric/numeric_utils.hpp:87:52: required from ‘static bool boost::spirit::qi::extract_uint<T, Radix, MinDigits, MaxDigits, Accumulate>::call(Iterator&, const Iterator&, Attribute&) [with Iterator = boost::spirit::basic_istream_iterator<char>; Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>; T = unsigned int; unsigned int Radix = 10u; unsigned int MinDigits = 1u; int MaxDigits = -1; bool Accumulate = false]’ | |
/usr/include/boost/spirit/home/qi/numeric/uint.hpp:242:52: required from ‘bool boost::spirit::qi::any_uint_parser<T, Radix, MinDigits, MaxDigits>::parse(Iterator&, const Iterator&, Context&, const Skipper&, Attribute&) const [with Iterator = boost::spirit::basic_istream_iterator<char>; Context = boost::spirit::context<boost::fusion::cons<Ast::Foo&, boost::fusion::nil_>, boost::fusion::vector0<> >; Skipper = boost::spirit::unused_type; Attribute = boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>; T = unsigned int; unsigned int Radix = 10u; unsigned int MinDigits = 1u; int MaxDigits = -1]’ | |
/usr/include/boost/spirit/home/qi/detail/fail_function.hpp:38:20: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] | |
/usr/include/boost/function/function_template.hpp:728:7: required from ‘boost::function4<R, T1, T2, T3, T4>::function4(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::eol_parser, boost::fusion::nil_> > > > >, mpl_::bool_<false> >; R = bool; T0 = boost::spirit::basic_istream_iterator<char>&; T1 = const boost::spirit::basic_istream_iterator<char>&; T2 = boost::spirit::context<boost::fusion::cons<Ast::Foo&, boost::fusion::nil_>, boost::fusion::vector0<> >&; T3 = const boost::spirit::unused_type&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’ | |
/usr/include/boost/function/function_template.hpp:1077:16: required from ‘boost::function<R(T0, T1, T2, T3)>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::eol_parser, boost::fusion::nil_> > > > >, mpl_::bool_<false> >; R = bool; T0 = boost::spirit::basic_istream_iterator<char>&; T1 = const boost::spirit::basic_istream_iterator<char>&; T2 = boost::spirit::context<boost::fusion::cons<Ast::Foo&, boost::fusion::nil_>, boost::fusion::vector0<> >&; T3 = const boost::spirit::unused_type&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]’ | |
/usr/include/boost/function/function_template.hpp:1132:5: required from ‘typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type boost::function<R(T0, T1, T2, T3)>::operator=(Functor) [with Functor = boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard, true, false>, boost::fusion::cons<boost::spirit::qi::any_uint_parser<unsigned int, 10u, 1u, -1>, boost::fusion::cons<boost::spirit::qi::eol_parser, boost::fusion::nil_> > > > >, mpl_::bool_<false> >; R = bool; T0 = boost::spirit::basic_istream_iterator<char>&; T1 = const boost::spirit::basic_istream_iterator<char>&; T2 = boost::spirit::context<boost::fusion::cons<Ast::Foo&, boost::fusion::nil_>, boost::fusion::vector0<> >&; T3 = const boost::spirit::unused_type&; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, boost::function<R(T0, T1, T2, T3)>&>::type = boost::function<bool(boost::spirit::basic_istream_iterator<char>&, const boost::spirit::basic_istream_iterator<char>&, boost::spirit::context<boost::fusion::cons<Ast::Foo&, boost::fusion::nil_>, boost::fusion::vector0<> >&, const boost::spirit::unused_type&)>&]’ | |
/usr/include/boost/spirit/home/qi/nonterminal/rule.hpp:183:19: required from ‘static void boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>::define(boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>&, const Expr&, mpl_::true_) [with Auto = mpl_::bool_<false>; Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit, boost::fusion::vector1<char> > >, 0l>&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::uint_>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0l>&>, 2l>; Iterator = boost::spirit::basic_istream_iterator<char>; T1 = Ast::Foo(); T2 = boost::spirit::unused_type; T3 = boost::spirit::unused_type; T4 = boost::spirit::unused_type; mpl_::true_ = mpl_::bool_<true>]’ | |
/usr/include/boost/spirit/home/qi/nonterminal/rule.hpp:221:19: required from ‘boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>& boost::spirit::qi::rule<Iterator, T1, T2, T3, T4>::operator=(const Expr&) [with Expr = boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::shift_right, boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::uint_>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit, boost::fusion::vector1<char> > >, 0l>&>, 2l>&, const boost::spirit::terminal<boost::spirit::tag::uint_>&>, 2l>&, const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::spirit::tag::eol>, 0l>&>, 2l>; Iterator = boost::spirit::basic_istream_iterator<char>; T1 = Ast::Foo(); T2 = boost::spirit::unused_type; T3 = boost::spirit::unused_type; T4 = boost::spirit::unused_type]’ | |
main.cc:58:13: required from ‘foo_grammar<Iterator>::foo_grammar() [with Iterator = boost::spirit::basic_istream_iterator<char>]’ | |
main.cc:82:19: required from here | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp:152:18: error: no matching function for call to ‘boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>::adt_attribute_proxy(const unsigned int&)’ | |
attr = static_cast<Attribute>(val); | |
^ | |
/usr/include/boost/spirit/home/qi/detail/assign_to.hpp:152:18: note: candidates are: | |
In file included from /usr/include/boost/fusion/adapted/adt/adapt_adt.hpp:39:0, | |
from /usr/include/boost/fusion/include/adapt_adt.hpp:12, | |
from main.cc:14: | |
main.cc:43:1: note: constexpr boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>::adt_attribute_proxy(Ast::Foo&) | |
BOOST_FUSION_ADAPT_ADT( | |
^ | |
main.cc:43:1: note: no known conversion for argument 1 from ‘const unsigned int’ to ‘Ast::Foo&’ | |
main.cc:43:1: note: constexpr boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>::adt_attribute_proxy(const boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>&) | |
BOOST_FUSION_ADAPT_ADT( | |
^ | |
main.cc:43:1: note: no known conversion for argument 1 from ‘const unsigned int’ to ‘const boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>&’ | |
main.cc:43:1: note: constexpr boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>::adt_attribute_proxy(boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>&&) | |
main.cc:43:1: note: no known conversion for argument 1 from ‘const unsigned int’ to ‘boost::fusion::extension::adt_attribute_proxy<Ast::Foo, 1, false>&&’ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment