Created
October 9, 2015 16:58
-
-
Save cviebig/e1f42ca485a5ed455631 to your computer and use it in GitHub Desktop.
min5 compiles fine, minast5 not :|
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
/*============================================================================= | |
Copyright (c) 2001-2015 Joel de Guzman | |
Distributed under the Boost Software License, Version 1.0. (See accompanying | |
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
=============================================================================*/ | |
#include <boost/config/warning_disable.hpp> | |
#include <boost/spirit/home/x3.hpp> | |
#include <boost/spirit/home/x3/support/ast/position_tagged.hpp> | |
#include <boost/spirit/home/x3/support/ast/variant.hpp> | |
#include <boost/fusion/include/adapt_struct.hpp> | |
#include <boost/fusion/include/std_pair.hpp> | |
#include <boost/fusion/include/io.hpp> | |
#include <iostream> | |
#include <fstream> | |
#include <string> | |
#include <vector> | |
namespace sql { namespace parser | |
{ | |
namespace x3 = boost::spirit::x3; | |
namespace ascii = boost::spirit::x3::ascii; | |
using x3::attr; | |
using x3::lit; | |
using x3::matches; | |
using x3::omit; | |
using x3::char_; | |
auto const select_stmt_def = attr(true); | |
auto const explain_clause_def = attr(true); | |
auto const sql_stmt_def = explain_clause_def >> select_stmt_def; | |
auto const sql_stmt_list_def = sql_stmt_def % ';'; | |
}} | |
/////////////////////////////////////////////////////////////////////////////// | |
// Main program | |
/////////////////////////////////////////////////////////////////////////////// | |
int main(int argc, char **argv) | |
{ | |
std::cout << "Give input to parse or type [q or Q] to quit\n\n"; | |
std::string str; | |
while (getline(std::cin, str)) | |
{ | |
if (str.empty() || str[0] == 'q' || str[0] == 'Q') | |
break; | |
using sql::parser::sql_stmt_list_def; // Our grammar | |
using boost::spirit::x3::ascii::space; | |
auto iter(str.begin()); | |
auto const end(str.end()); | |
if (phrase_parse(iter, end, sql_stmt_list_def, space)) { | |
if(iter == end) { | |
std::cout << "Parsing succeeded and the whole string was consumed\n"; | |
} else { | |
std::cout << "Parsing succeeded but only a part of the string was consumed\n"; | |
} | |
} else { | |
std::cout << "Parsing failed\n"; | |
} | |
} | |
return 0; | |
} |
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
/*============================================================================= | |
Copyright (c) 2001-2015 Joel de Guzman | |
Distributed under the Boost Software License, Version 1.0. (See accompanying | |
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
=============================================================================*/ | |
#include <boost/config/warning_disable.hpp> | |
#include <boost/spirit/home/x3.hpp> | |
#include <boost/spirit/home/x3/support/ast/position_tagged.hpp> | |
#include <boost/spirit/home/x3/support/ast/variant.hpp> | |
#include <boost/fusion/include/adapt_struct.hpp> | |
#include <boost/fusion/include/std_pair.hpp> | |
#include <boost/fusion/include/io.hpp> | |
#include <iostream> | |
#include <fstream> | |
#include <string> | |
#include <vector> | |
namespace sql { namespace ast | |
{ | |
struct select_stmt : boost::spirit::x3::position_tagged | |
{ | |
bool a; | |
}; | |
struct explain_clause : boost::spirit::x3::position_tagged { | |
bool b; | |
}; | |
struct sql_stmt : boost::spirit::x3::position_tagged | |
{ | |
explain_clause explain; | |
select_stmt stmt; | |
}; | |
typedef std::vector<sql_stmt> sql_stmt_list; | |
}} | |
BOOST_FUSION_ADAPT_STRUCT(sql::ast::select_stmt, a) | |
BOOST_FUSION_ADAPT_STRUCT(sql::ast::explain_clause, b) | |
BOOST_FUSION_ADAPT_STRUCT(sql::ast::sql_stmt, | |
(sql::ast::explain_clause, explain) | |
(sql::ast::select_stmt, stmt) | |
) | |
namespace sql { namespace ast | |
{ | |
struct sql_printer | |
{ | |
sql_printer(std::ostream& out) | |
: out(out) {} | |
void operator()(ast::explain_clause const& ast) const | |
{ | |
out << ast.b; | |
} | |
void operator()(ast::sql_stmt const& ast) const | |
{ | |
sql_printer{out}(ast.explain); | |
sql_printer{out}(ast.stmt); | |
} | |
void operator()(ast::select_stmt const& ast) const | |
{ | |
out << ast.a; | |
} | |
void operator()(ast::sql_stmt_list const& ast) const | |
{ | |
for (auto const& stmt : ast) | |
{ | |
sql_printer{out}(stmt); | |
out << ";"; | |
} | |
} | |
std::ostream& out; | |
}; | |
}} | |
namespace sql { namespace parser | |
{ | |
namespace x3 = boost::spirit::x3; | |
namespace ascii = boost::spirit::x3::ascii; | |
using x3::attr; | |
using x3::lit; | |
using x3::matches; | |
using x3::omit; | |
using x3::char_; | |
struct select_stmt_class; | |
struct explain_clause_class; | |
struct sql_stmt_class; | |
struct sql_stmt_list_class; | |
x3::rule<select_stmt_class, ast::select_stmt> const | |
select_stmt = "select_stmt"; | |
x3::rule<explain_clause_class, ast::explain_clause> const | |
explain_clause = "explain_clause"; | |
x3::rule<sql_stmt_class, ast::sql_stmt> const | |
sql_stmt = "sql_stmt"; | |
x3::rule<sql_stmt_list_class, ast::sql_stmt_list> const | |
sql_stmt_list = "sql_stmt_list"; | |
auto const select_stmt_def = attr(true); | |
auto const explain_clause_def = attr(true); | |
auto const sql_stmt_def = explain_clause_def >> select_stmt_def; | |
auto const sql_stmt_list_def = sql_stmt_def % ';'; | |
BOOST_SPIRIT_DEFINE(select_stmt, explain_clause, sql_stmt, sql_stmt_list); | |
}} | |
/////////////////////////////////////////////////////////////////////////////// | |
// Main program | |
/////////////////////////////////////////////////////////////////////////////// | |
int main(int argc, char **argv) | |
{ | |
std::cout << "Give input to parse or type [q or Q] to quit\n\n"; | |
std::string str; | |
while (getline(std::cin, str)) | |
{ | |
if (str.empty() || str[0] == 'q' || str[0] == 'Q') | |
break; | |
using sql::parser::sql_stmt_list; // Our grammar | |
sql::ast::sql_stmt_list ast; // Our tree | |
using boost::spirit::x3::ascii::space; | |
auto iter(str.begin()); | |
auto const end(str.end()); | |
if (phrase_parse(iter, end, sql_stmt_list, space, ast)) { | |
if(iter == end) { | |
std::cout << "Parsing succeeded and the whole string was consumed\n"; | |
} else { | |
std::cout << "Parsing succeeded but only a part of the string was consumed\n"; | |
} | |
sql::ast::sql_printer printer(std::cout); | |
printer(ast); | |
std::cout << "\n"; | |
} else { | |
std::cout << "Parsing failed\n"; | |
} | |
} | |
return 0; | |
} |
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
In file included from min/minast5.cpp:9: | |
In file included from /libs/boost_1_59_0/boost/spirit/home/x3.hpp:14: | |
In file included from /libs/boost_1_59_0/boost/spirit/home/x3/auxiliary.hpp:11: | |
In file included from /libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/any_parser.hpp:17: | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:9: error: no matching function for call to 'move_to' | |
detail::move_to(std::move(src), dest | |
^~~~~~~~~~~~~~~ | |
/libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/attr.hpp:47:21: note: in instantiation of function template specialization | |
'boost::spirit::x3::traits::move_to<const bool &, sql::ast::sql_stmt>' requested here | |
traits::move_to(value_, attr_); | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:101:25: note: in instantiation of function template | |
specialization 'boost::spirit::x3::attr_parser<bool>::parse<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, | |
boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, | |
boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> >, | |
sql::ast::sql_stmt>' requested here | |
if (!parser.parse(first, last, context, rcontext, val)) | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:132:20: note: in instantiation of function template | |
specialization 'boost::spirit::x3::detail::parse_into_container_base_impl<boost::spirit::x3::attr_parser<bool> | |
>::call_synthesize_x<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const | |
boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, | |
std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> >, std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> > >' requested | |
here | |
return call_synthesize_x(parser, first, last, context, rcontext, attr | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:187:20: note: in instantiation of function template | |
specialization 'boost::spirit::x3::detail::parse_into_container_base_impl<boost::spirit::x3::attr_parser<bool> | |
>::call_synthesize<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const | |
boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, | |
std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> >, std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> > >' requested | |
here | |
return call_synthesize(parser, first, last, context, rcontext, attr); | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:196:20: note: in instantiation of function template | |
specialization 'boost::spirit::x3::detail::parse_into_container_base_impl<boost::spirit::x3::attr_parser<bool> | |
>::call_synthesize_dispatch_by_seq<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, | |
boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, | |
boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> >, | |
std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> > >' requested here | |
return call_synthesize_dispatch_by_seq(parser, first, last, context, rcontext, attr | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:218:20: note: (skipping 12 contexts in backtrace; use | |
-ftemplate-backtrace-limit=0 to see all) | |
return call(parser, first, last, context, rcontext, attr | |
^ | |
min/minast5.cpp:124:9: note: in instantiation of function template specialization | |
'boost::spirit::x3::rule_definition<sql::parser::sql_stmt_list_class, | |
boost::spirit::x3::list<boost::spirit::x3::sequence<boost::spirit::x3::attr_parser<bool>, boost::spirit::x3::attr_parser<bool> >, | |
boost::spirit::x3::literal_char<boost::spirit::char_encoding::standard, boost::spirit::x3::unused_type> >, std::vector<sql::ast::sql_stmt, | |
std::allocator<sql::ast::sql_stmt> >, false>::parse<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, | |
boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, | |
boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> > >' requested here | |
BOOST_SPIRIT_DEFINE(select_stmt, explain_clause, sql_stmt, sql_stmt_list); | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:170:5: note: expanded from macro 'BOOST_SPIRIT_DEFINE' | |
BOOST_SPIRIT_DEFINE_, _, BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__)) \ | |
^ | |
/libs/boost_1_59_0/boost/preprocessor/seq/for_each.hpp:29:88: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH' | |
# define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK(macro, data, seq) | |
^ | |
/libs/boost_1_59_0/boost/preprocessor/seq/for_each.hpp:45:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK' | |
(macro, data, seq) \ | |
^ | |
note: (skipping 20 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) | |
/libs/boost_1_59_0/boost/preprocessor/seq/for_each.hpp:78:76: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_M_IM' | |
# define BOOST_PP_SEQ_FOR_EACH_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_M_I(r, im) | |
^ | |
/libs/boost_1_59_0/boost/preprocessor/seq/for_each.hpp:83:61: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_M_I' | |
# define BOOST_PP_SEQ_FOR_EACH_M_I(r, macro, data, seq, sz) macro(r, data, BOOST_PP_SEQ_HEAD(seq)) | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:165:21: note: expanded from macro 'BOOST_SPIRIT_DEFINE_' | |
return def_.parse(first, last, context, unused, attr); \ | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:116:20: note: in instantiation of function template specialization | |
'sql::parser::parse_rule<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, | |
const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, | |
std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> > >' requested here | |
return parse_rule(*this, first, last, context, attr); | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:114:31: note: in instantiation of function template specialization | |
'boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> >, | |
false>::parse<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const | |
boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>, | |
std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> > >' requested here | |
bool r = as_parser(p).parse(first, last, skipper_ctx, unused, attr); | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:131:16: note: in instantiation of function template specialization | |
'boost::spirit::x3::phrase_parse_main<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, | |
boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> >, false>, | |
boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, std::vector<sql::ast::sql_stmt, | |
std::allocator<sql::ast::sql_stmt> > >' requested here | |
return phrase_parse_main(first, last, p, s, attr, post_skip); | |
^ | |
min/minast5.cpp:147:13: note: in instantiation of function template specialization | |
'boost::spirit::x3::phrase_parse<__gnu_cxx::__normal_iterator<char *, std::basic_string<char> >, | |
boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt, std::allocator<sql::ast::sql_stmt> >, false>, | |
boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, std::vector<sql::ast::sql_stmt, | |
std::allocator<sql::ast::sql_stmt> > >' requested here | |
if (phrase_parse(iter, end, sql_stmt_list, space, ast)) { | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:48:9: note: candidate function [with Source = const bool, Dest = | |
sql::ast::sql_stmt] not viable: no known conversion from 'typename attribute_category<sql_stmt>::type' | |
(aka 'boost::spirit::x3::traits::tuple_attribute') to 'boost::spirit::x3::traits::unused_attribute' for 3rd argument | |
move_to(Source&&, Dest&, unused_attribute) {} | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:66:9: note: candidate function [with Source = const bool, Dest = | |
sql::ast::sql_stmt] not viable: no known conversion from 'typename attribute_category<sql_stmt>::type' | |
(aka 'boost::spirit::x3::traits::tuple_attribute') to 'boost::spirit::x3::traits::plain_attribute' for 3rd argument | |
move_to(Source&& src, Dest& dest, plain_attribute) | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:142:9: note: candidate function [with Source = const bool, Dest | |
= sql::ast::sql_stmt] not viable: no known conversion from 'typename attribute_category<sql_stmt>::type' | |
(aka 'boost::spirit::x3::traits::tuple_attribute') to 'boost::spirit::x3::traits::variant_attribute' for 3rd argument | |
move_to(Source&& src, Dest& dest, variant_attribute tag) | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:77:35: note: candidate template ignored: disabled by 'enable_if' | |
[with Source = const bool, Dest = sql::ast::sql_stmt] | |
inline typename enable_if<is_container<Source>>::type | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:85:13: note: candidate template ignored: disabled by 'enable_if' | |
[with Source = const bool, Dest = sql::ast::sql_stmt] | |
mpl::and_< | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:96:13: note: candidate template ignored: disabled by 'enable_if' | |
[with Source = const bool, Dest = sql::ast::sql_stmt] | |
is_size_one_sequence<Dest> | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:105:9: note: candidate function template not viable: requires 4 | |
arguments, but 3 were provided | |
move_to(Source&& src, Dest& dest, variant_attribute, mpl::false_) | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:135:9: note: candidate function template not viable: requires 4 | |
arguments, but 3 were provided | |
move_to(Source&& src, Dest& dest, variant_attribute, mpl::true_) | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:149:9: note: candidate function template not viable: requires 4 | |
arguments, but 3 were provided | |
move_to(Iterator, Iterator, unused_type, unused_attribute) {} | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:153:9: note: candidate function template not viable: requires 4 | |
arguments, but 3 were provided | |
move_to(Iterator first, Iterator last, Dest& dest, container_attribute) | |
^ | |
/libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:163:9: note: candidate function template not viable: requires 4 | |
arguments, but 3 were provided | |
move_to(Iterator first, Iterator last, boost::iterator_range<Iterator>& rng, container_attribute) | |
^ | |
1 error generated. | |
CMakeFiles/minast5.dir/build.make:62: recipe for target 'CMakeFiles/minast5.dir/min/minast5.cpp.o' failed | |
make[2]: *** [CMakeFiles/minast5.dir/min/minast5.cpp.o] Error 1 | |
CMakeFiles/Makefile2:252: recipe for target 'CMakeFiles/minast5.dir/all' failed | |
make[1]: *** [CMakeFiles/minast5.dir/all] Error 2 | |
Makefile:83: recipe for target 'all' failed | |
make: *** [all] Error 2 |
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
In file included from libs/boost_1_59_0/boost/smart_ptr/shared_ptr.hpp:28:0, | |
from libs/boost_1_59_0/boost/shared_ptr.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string/symbols.hpp:28, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:21, | |
from min/minast5.cpp:9: | |
libs/boost_1_59_0/boost/smart_ptr/detail/shared_count.hpp:396:33: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] | |
explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) ) | |
^ | |
In file included from /usr/include/c++/5.2.0/memory:81:0, | |
from libs/boost_1_59_0/boost/move/algorithm.hpp:32, | |
from libs/boost_1_59_0/boost/move/move.hpp:32, | |
from libs/boost_1_59_0/boost/variant/detail/move.hpp:28, | |
from libs/boost_1_59_0/boost/variant/detail/initializer.hpp:23, | |
from libs/boost_1_59_0/boost/variant/variant.hpp:30, | |
from libs/boost_1_59_0/boost/variant.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/is_variant.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/attribute_category.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:12, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/any_parser.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:14, | |
from min/minast5.cpp:9: | |
/usr/include/c++/5.2.0/bits/unique_ptr.h:49:28: note: declared here | |
template<typename> class auto_ptr; | |
^ | |
In file included from libs/boost_1_59_0/boost/shared_ptr.hpp:17:0, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string/symbols.hpp:28, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:21, | |
from min/minast5.cpp:9: | |
libs/boost_1_59_0/boost/smart_ptr/shared_ptr.hpp:249:65: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] | |
template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R > | |
^ | |
In file included from /usr/include/c++/5.2.0/memory:81:0, | |
from libs/boost_1_59_0/boost/move/algorithm.hpp:32, | |
from libs/boost_1_59_0/boost/move/move.hpp:32, | |
from libs/boost_1_59_0/boost/variant/detail/move.hpp:28, | |
from libs/boost_1_59_0/boost/variant/detail/initializer.hpp:23, | |
from libs/boost_1_59_0/boost/variant/variant.hpp:30, | |
from libs/boost_1_59_0/boost/variant.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/is_variant.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/attribute_category.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:12, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/any_parser.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:14, | |
from min/minast5.cpp:9: | |
/usr/include/c++/5.2.0/bits/unique_ptr.h:49:28: note: declared here | |
template<typename> class auto_ptr; | |
^ | |
In file included from libs/boost_1_59_0/boost/shared_ptr.hpp:17:0, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string/symbols.hpp:28, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:21, | |
from min/minast5.cpp:9: | |
libs/boost_1_59_0/boost/smart_ptr/shared_ptr.hpp:448:31: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] | |
explicit shared_ptr( std::auto_ptr<Y> & r ): px(r.get()), pn() | |
^ | |
In file included from /usr/include/c++/5.2.0/memory:81:0, | |
from libs/boost_1_59_0/boost/move/algorithm.hpp:32, | |
from libs/boost_1_59_0/boost/move/move.hpp:32, | |
from libs/boost_1_59_0/boost/variant/detail/move.hpp:28, | |
from libs/boost_1_59_0/boost/variant/detail/initializer.hpp:23, | |
from libs/boost_1_59_0/boost/variant/variant.hpp:30, | |
from libs/boost_1_59_0/boost/variant.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/is_variant.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/attribute_category.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:12, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/any_parser.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:14, | |
from min/minast5.cpp:9: | |
/usr/include/c++/5.2.0/bits/unique_ptr.h:49:28: note: declared here | |
template<typename> class auto_ptr; | |
^ | |
In file included from libs/boost_1_59_0/boost/shared_ptr.hpp:17:0, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string/symbols.hpp:28, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:21, | |
from min/minast5.cpp:9: | |
libs/boost_1_59_0/boost/smart_ptr/shared_ptr.hpp:461:22: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] | |
shared_ptr( std::auto_ptr<Y> && r ): px(r.get()), pn() | |
^ | |
In file included from /usr/include/c++/5.2.0/memory:81:0, | |
from libs/boost_1_59_0/boost/move/algorithm.hpp:32, | |
from libs/boost_1_59_0/boost/move/move.hpp:32, | |
from libs/boost_1_59_0/boost/variant/detail/move.hpp:28, | |
from libs/boost_1_59_0/boost/variant/detail/initializer.hpp:23, | |
from libs/boost_1_59_0/boost/variant/variant.hpp:30, | |
from libs/boost_1_59_0/boost/variant.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/is_variant.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/attribute_category.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:12, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/any_parser.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:14, | |
from min/minast5.cpp:9: | |
/usr/include/c++/5.2.0/bits/unique_ptr.h:49:28: note: declared here | |
template<typename> class auto_ptr; | |
^ | |
In file included from libs/boost_1_59_0/boost/shared_ptr.hpp:17:0, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string/symbols.hpp:28, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:21, | |
from min/minast5.cpp:9: | |
libs/boost_1_59_0/boost/smart_ptr/shared_ptr.hpp:538:34: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] | |
shared_ptr & operator=( std::auto_ptr<Y> & r ) | |
^ | |
In file included from /usr/include/c++/5.2.0/memory:81:0, | |
from libs/boost_1_59_0/boost/move/algorithm.hpp:32, | |
from libs/boost_1_59_0/boost/move/move.hpp:32, | |
from libs/boost_1_59_0/boost/variant/detail/move.hpp:28, | |
from libs/boost_1_59_0/boost/variant/detail/initializer.hpp:23, | |
from libs/boost_1_59_0/boost/variant/variant.hpp:30, | |
from libs/boost_1_59_0/boost/variant.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/is_variant.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/attribute_category.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:12, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/any_parser.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:14, | |
from min/minast5.cpp:9: | |
/usr/include/c++/5.2.0/bits/unique_ptr.h:49:28: note: declared here | |
template<typename> class auto_ptr; | |
^ | |
In file included from libs/boost_1_59_0/boost/shared_ptr.hpp:17:0, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string/symbols.hpp:28, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:21, | |
from min/minast5.cpp:9: | |
libs/boost_1_59_0/boost/smart_ptr/shared_ptr.hpp:547:34: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] | |
shared_ptr & operator=( std::auto_ptr<Y> && r ) | |
^ | |
In file included from /usr/include/c++/5.2.0/memory:81:0, | |
from libs/boost_1_59_0/boost/move/algorithm.hpp:32, | |
from libs/boost_1_59_0/boost/move/move.hpp:32, | |
from libs/boost_1_59_0/boost/variant/detail/move.hpp:28, | |
from libs/boost_1_59_0/boost/variant/detail/initializer.hpp:23, | |
from libs/boost_1_59_0/boost/variant/variant.hpp:30, | |
from libs/boost_1_59_0/boost/variant.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/is_variant.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/attribute_category.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:12, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/any_parser.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:14, | |
from min/minast5.cpp:9: | |
/usr/include/c++/5.2.0/bits/unique_ptr.h:49:28: note: declared here | |
template<typename> class auto_ptr; | |
^ | |
In file included from libs/boost_1_59_0/boost/shared_ptr.hpp:17:0, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string/symbols.hpp:28, | |
from libs/boost_1_59_0/boost/spirit/home/x3/string.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:21, | |
from min/minast5.cpp:9: | |
libs/boost_1_59_0/boost/smart_ptr/shared_ptr.hpp: In member function ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator=(std::auto_ptr<_Up>&&)’: | |
libs/boost_1_59_0/boost/smart_ptr/shared_ptr.hpp:549:38: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] | |
this_type( static_cast< std::auto_ptr<Y> && >( r ) ).swap( *this ); | |
^ | |
In file included from /usr/include/c++/5.2.0/memory:81:0, | |
from libs/boost_1_59_0/boost/move/algorithm.hpp:32, | |
from libs/boost_1_59_0/boost/move/move.hpp:32, | |
from libs/boost_1_59_0/boost/variant/detail/move.hpp:28, | |
from libs/boost_1_59_0/boost/variant/detail/initializer.hpp:23, | |
from libs/boost_1_59_0/boost/variant/variant.hpp:30, | |
from libs/boost_1_59_0/boost/variant.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/is_variant.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/attribute_category.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:12, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/any_parser.hpp:17, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:14, | |
from min/minast5.cpp:9: | |
/usr/include/c++/5.2.0/bits/unique_ptr.h:49:28: note: declared here | |
template<typename> class auto_ptr; | |
^ | |
In file included from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/any_parser.hpp:17:0, | |
from libs/boost_1_59_0/boost/spirit/home/x3/auxiliary.hpp:11, | |
from libs/boost_1_59_0/boost/spirit/home/x3.hpp:14, | |
from min/minast5.cpp:9: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp: In instantiation of ‘void boost::spirit::x3::traits::move_to(Source&&, Dest&) [with Source = const bool&; Dest = sql::ast::sql_stmt]’: | |
libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/attr.hpp:47:28: required from ‘bool boost::spirit::x3::attr_parser<Value>::parse(Iterator&, const Iterator&, const Context&, RuleContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RuleContext = std::vector<sql::ast::sql_stmt>; Attribute = sql::ast::sql_stmt; Value = bool]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:101:17: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_x(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::false_ = mpl_::bool_<false>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:132:37: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:187:35: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_dispatch_by_seq(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::false_ = mpl_::bool_<false>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:196:51: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::true_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::true_ = mpl_::bool_<true>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:218:24: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] | |
libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:64:39: required from ‘bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::vector<sql::ast::sql_stmt>; ID = sql::parser::sql_stmt_list_class; RHS = boost::spirit::x3::list<boost::spirit::x3::sequence<boost::spirit::x3::attr_parser<bool>, boost::spirit::x3::attr_parser<bool> >, boost::spirit::x3::literal_char<boost::spirit::char_encoding::standard, boost::spirit::x3::unused_type> >; Attribute = std::vector<sql::ast::sql_stmt>; bool force_attribute_ = false]’ | |
min/minast5.cpp:124:9: required from ‘bool sql::parser::parse_rule(boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >, Iterator&, const Iterator&, const Context&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:116:30: required from ‘bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::vector<sql::ast::sql_stmt>; ID = sql::parser::sql_stmt_list_class; Attribute = std::vector<sql::ast::sql_stmt>; bool force_attribute_ = false]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:114:75: required from ‘bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Parser = boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:131:33: required from ‘bool boost::spirit::x3::phrase_parse(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Parser = boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
min/minast5.cpp:147:62: required from here | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: error: no matching function for call to ‘move_to(std::remove_reference<const bool&>::type, sql::ast::sql_stmt&, boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type)’ | |
detail::move_to(std::move(src), dest | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:48:9: note: candidate: template<class Source, class Dest> void boost::spirit::x3::traits::detail::move_to(Source&&, Dest&, boost::spirit::x3::traits::unused_attribute) | |
move_to(Source&&, Dest&, unused_attribute) {} | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:48:9: note: template argument deduction/substitution failed: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: note: cannot convert ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type()’ (type ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type {aka boost::spirit::x3::traits::tuple_attribute}’) to type ‘boost::spirit::x3::traits::unused_attribute’ | |
detail::move_to(std::move(src), dest | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:66:9: note: candidate: template<class Source, class Dest> void boost::spirit::x3::traits::detail::move_to(Source&&, Dest&, boost::spirit::x3::traits::plain_attribute) | |
move_to(Source&& src, Dest& dest, plain_attribute) | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:66:9: note: template argument deduction/substitution failed: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: note: cannot convert ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type()’ (type ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type {aka boost::spirit::x3::traits::tuple_attribute}’) to type ‘boost::spirit::x3::traits::plain_attribute’ | |
detail::move_to(std::move(src), dest | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:78:9: note: candidate: template<class Source, class Dest> typename boost::enable_if<boost::spirit::x3::traits::is_container<T> >::type boost::spirit::x3::traits::detail::move_to(Source&&, Dest&, boost::spirit::x3::traits::container_attribute) | |
move_to(Source&& src, Dest& dest, container_attribute) | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:78:9: note: template argument deduction/substitution failed: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: note: cannot convert ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type()’ (type ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type {aka boost::spirit::x3::traits::tuple_attribute}’) to type ‘boost::spirit::x3::traits::container_attribute’ | |
detail::move_to(std::move(src), dest | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:89:9: note: candidate: template<class Source, class Dest> typename boost::enable_if<boost::mpl::and_<boost::spirit::x3::traits::is_same_size_sequence<Dest, Source>, boost::mpl::not_<boost::spirit::x3::traits::is_size_one_sequence<Dest> > > >::type boost::spirit::x3::traits::detail::move_to(Source&&, Dest&, boost::spirit::x3::traits::tuple_attribute) | |
move_to(Source&& src, Dest& dest, tuple_attribute) | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:89:9: note: template argument deduction/substitution failed: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp: In substitution of ‘template<class Source, class Dest> typename boost::enable_if<boost::mpl::and_<boost::spirit::x3::traits::is_same_size_sequence<Dest, Source>, boost::mpl::not_<boost::spirit::x3::traits::is_size_one_sequence<Dest> > > >::type boost::spirit::x3::traits::detail::move_to(Source&&, Dest&, boost::spirit::x3::traits::tuple_attribute) [with Source = const bool; Dest = sql::ast::sql_stmt]’: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: required from ‘void boost::spirit::x3::traits::move_to(Source&&, Dest&) [with Source = const bool&; Dest = sql::ast::sql_stmt]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/attr.hpp:47:28: required from ‘bool boost::spirit::x3::attr_parser<Value>::parse(Iterator&, const Iterator&, const Context&, RuleContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RuleContext = std::vector<sql::ast::sql_stmt>; Attribute = sql::ast::sql_stmt; Value = bool]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:101:17: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_x(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::false_ = mpl_::bool_<false>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:132:37: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:187:35: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_dispatch_by_seq(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::false_ = mpl_::bool_<false>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:196:51: [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] | |
libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:64:39: required from ‘bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::vector<sql::ast::sql_stmt>; ID = sql::parser::sql_stmt_list_class; RHS = boost::spirit::x3::list<boost::spirit::x3::sequence<boost::spirit::x3::attr_parser<bool>, boost::spirit::x3::attr_parser<bool> >, boost::spirit::x3::literal_char<boost::spirit::char_encoding::standard, boost::spirit::x3::unused_type> >; Attribute = std::vector<sql::ast::sql_stmt>; bool force_attribute_ = false]’ | |
min/minast5.cpp:124:9: required from ‘bool sql::parser::parse_rule(boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >, Iterator&, const Iterator&, const Context&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:116:30: required from ‘bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::vector<sql::ast::sql_stmt>; ID = sql::parser::sql_stmt_list_class; Attribute = std::vector<sql::ast::sql_stmt>; bool force_attribute_ = false]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:114:75: required from ‘bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Parser = boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:131:33: required from ‘bool boost::spirit::x3::phrase_parse(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Parser = boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
min/minast5.cpp:147:62: required from here | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:89:9: error: no type named ‘type’ in ‘struct boost::enable_if<boost::mpl::and_<boost::spirit::x3::traits::is_same_size_sequence<sql::ast::sql_stmt, const bool>, boost::mpl::not_<boost::spirit::x3::traits::is_size_one_sequence<sql::ast::sql_stmt> >, mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >, void>’ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp: In instantiation of ‘void boost::spirit::x3::traits::move_to(Source&&, Dest&) [with Source = const bool&; Dest = sql::ast::sql_stmt]’: | |
libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/attr.hpp:47:28: required from ‘bool boost::spirit::x3::attr_parser<Value>::parse(Iterator&, const Iterator&, const Context&, RuleContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RuleContext = std::vector<sql::ast::sql_stmt>; Attribute = sql::ast::sql_stmt; Value = bool]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:101:17: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_x(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::false_ = mpl_::bool_<false>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:132:37: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:187:35: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_dispatch_by_seq(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::false_ = mpl_::bool_<false>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:196:51: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::true_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::true_ = mpl_::bool_<true>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:218:24: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] | |
libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:64:39: required from ‘bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::vector<sql::ast::sql_stmt>; ID = sql::parser::sql_stmt_list_class; RHS = boost::spirit::x3::list<boost::spirit::x3::sequence<boost::spirit::x3::attr_parser<bool>, boost::spirit::x3::attr_parser<bool> >, boost::spirit::x3::literal_char<boost::spirit::char_encoding::standard, boost::spirit::x3::unused_type> >; Attribute = std::vector<sql::ast::sql_stmt>; bool force_attribute_ = false]’ | |
min/minast5.cpp:124:9: required from ‘bool sql::parser::parse_rule(boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >, Iterator&, const Iterator&, const Context&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:116:30: required from ‘bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::vector<sql::ast::sql_stmt>; ID = sql::parser::sql_stmt_list_class; Attribute = std::vector<sql::ast::sql_stmt>; bool force_attribute_ = false]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:114:75: required from ‘bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Parser = boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:131:33: required from ‘bool boost::spirit::x3::phrase_parse(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Parser = boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
min/minast5.cpp:147:62: required from here | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:98:9: note: candidate: template<class Source, class Dest> typename boost::enable_if<boost::spirit::x3::traits::is_size_one_sequence<Dest> >::type boost::spirit::x3::traits::detail::move_to(Source&&, Dest&, boost::spirit::x3::traits::tuple_attribute) | |
move_to(Source&& src, Dest& dest, tuple_attribute) | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:98:9: note: template argument deduction/substitution failed: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp: In substitution of ‘template<class Source, class Dest> typename boost::enable_if<boost::spirit::x3::traits::is_size_one_sequence<Dest> >::type boost::spirit::x3::traits::detail::move_to(Source&&, Dest&, boost::spirit::x3::traits::tuple_attribute) [with Source = const bool; Dest = sql::ast::sql_stmt]’: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: required from ‘void boost::spirit::x3::traits::move_to(Source&&, Dest&) [with Source = const bool&; Dest = sql::ast::sql_stmt]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/attr.hpp:47:28: required from ‘bool boost::spirit::x3::attr_parser<Value>::parse(Iterator&, const Iterator&, const Context&, RuleContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RuleContext = std::vector<sql::ast::sql_stmt>; Attribute = sql::ast::sql_stmt; Value = bool]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:101:17: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_x(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::false_ = mpl_::bool_<false>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:132:37: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:187:35: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_dispatch_by_seq(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::false_ = mpl_::bool_<false>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:196:51: [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] | |
libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:64:39: required from ‘bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::vector<sql::ast::sql_stmt>; ID = sql::parser::sql_stmt_list_class; RHS = boost::spirit::x3::list<boost::spirit::x3::sequence<boost::spirit::x3::attr_parser<bool>, boost::spirit::x3::attr_parser<bool> >, boost::spirit::x3::literal_char<boost::spirit::char_encoding::standard, boost::spirit::x3::unused_type> >; Attribute = std::vector<sql::ast::sql_stmt>; bool force_attribute_ = false]’ | |
min/minast5.cpp:124:9: required from ‘bool sql::parser::parse_rule(boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >, Iterator&, const Iterator&, const Context&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:116:30: required from ‘bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::vector<sql::ast::sql_stmt>; ID = sql::parser::sql_stmt_list_class; Attribute = std::vector<sql::ast::sql_stmt>; bool force_attribute_ = false]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:114:75: required from ‘bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Parser = boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:131:33: required from ‘bool boost::spirit::x3::phrase_parse(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Parser = boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
min/minast5.cpp:147:62: required from here | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:98:9: error: no type named ‘type’ in ‘struct boost::enable_if<boost::spirit::x3::traits::is_size_one_sequence<sql::ast::sql_stmt>, void>’ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp: In instantiation of ‘void boost::spirit::x3::traits::move_to(Source&&, Dest&) [with Source = const bool&; Dest = sql::ast::sql_stmt]’: | |
libs/boost_1_59_0/boost/spirit/home/x3/auxiliary/attr.hpp:47:28: required from ‘bool boost::spirit::x3::attr_parser<Value>::parse(Iterator&, const Iterator&, const Context&, RuleContext&, Attribute&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RuleContext = std::vector<sql::ast::sql_stmt>; Attribute = sql::ast::sql_stmt; Value = bool]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:101:17: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_x(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::false_ = mpl_::bool_<false>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:132:37: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:187:35: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call_synthesize_dispatch_by_seq(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::false_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::false_ = mpl_::bool_<false>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:196:51: required from ‘static bool boost::spirit::x3::detail::parse_into_container_base_impl<Parser>::call(const Parser&, Iterator&, const Iterator&, const Context&, RContext&, Attribute&, mpl_::true_) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; RContext = std::vector<sql::ast::sql_stmt>; Attribute = std::vector<sql::ast::sql_stmt>; Parser = boost::spirit::x3::attr_parser<bool>; mpl_::true_ = mpl_::bool_<true>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/detail/parse_into_container.hpp:218:24: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] | |
libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:64:39: required from ‘bool boost::spirit::x3::rule_definition<ID, RHS, Attribute, force_attribute_>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::vector<sql::ast::sql_stmt>; ID = sql::parser::sql_stmt_list_class; RHS = boost::spirit::x3::list<boost::spirit::x3::sequence<boost::spirit::x3::attr_parser<bool>, boost::spirit::x3::attr_parser<bool> >, boost::spirit::x3::literal_char<boost::spirit::char_encoding::standard, boost::spirit::x3::unused_type> >; Attribute = std::vector<sql::ast::sql_stmt>; bool force_attribute_ = false]’ | |
min/minast5.cpp:124:9: required from ‘bool sql::parser::parse_rule(boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >, Iterator&, const Iterator&, const Context&, Attribute&) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/nonterminal/rule.hpp:116:30: required from ‘bool boost::spirit::x3::rule<ID, Attribute, force_attribute>::parse(Iterator&, const Iterator&, const Context&, boost::spirit::x3::unused_type, Attribute_&) const [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Context = boost::spirit::x3::context<boost::spirit::x3::skipper_tag, const boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>, boost::spirit::x3::unused_type>; Attribute_ = std::vector<sql::ast::sql_stmt>; ID = sql::parser::sql_stmt_list_class; Attribute = std::vector<sql::ast::sql_stmt>; bool force_attribute_ = false]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:114:75: required from ‘bool boost::spirit::x3::phrase_parse_main(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Parser = boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
libs/boost_1_59_0/boost/spirit/home/x3/core/parse.hpp:131:33: required from ‘bool boost::spirit::x3::phrase_parse(Iterator&, Iterator, const Parser&, const Skipper&, Attribute&, boost::spirit::x3::skip_flag) [with Iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; Parser = boost::spirit::x3::rule<sql::parser::sql_stmt_list_class, std::vector<sql::ast::sql_stmt> >; Skipper = boost::spirit::x3::char_class<boost::spirit::char_encoding::ascii, boost::spirit::x3::space_tag>; Attribute = std::vector<sql::ast::sql_stmt>]’ | |
min/minast5.cpp:147:62: required from here | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:105:9: note: candidate: template<class Source, class Dest> void boost::spirit::x3::traits::detail::move_to(Source&&, Dest&, boost::spirit::x3::traits::variant_attribute, mpl_::false_) | |
move_to(Source&& src, Dest& dest, variant_attribute, mpl::false_) | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:105:9: note: template argument deduction/substitution failed: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: note: cannot convert ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type()’ (type ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type {aka boost::spirit::x3::traits::tuple_attribute}’) to type ‘boost::spirit::x3::traits::variant_attribute’ | |
detail::move_to(std::move(src), dest | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:135:9: note: candidate: template<class Source, class Dest> void boost::spirit::x3::traits::detail::move_to(Source&&, Dest&, boost::spirit::x3::traits::variant_attribute, mpl_::true_) | |
move_to(Source&& src, Dest& dest, variant_attribute, mpl::true_) | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:135:9: note: template argument deduction/substitution failed: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: note: cannot convert ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type()’ (type ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type {aka boost::spirit::x3::traits::tuple_attribute}’) to type ‘boost::spirit::x3::traits::variant_attribute’ | |
detail::move_to(std::move(src), dest | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:142:9: note: candidate: template<class Source, class Dest> void boost::spirit::x3::traits::detail::move_to(Source&&, Dest&, boost::spirit::x3::traits::variant_attribute) | |
move_to(Source&& src, Dest& dest, variant_attribute tag) | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:142:9: note: template argument deduction/substitution failed: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: note: cannot convert ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type()’ (type ‘boost::mpl::identity<boost::spirit::x3::traits::tuple_attribute>::type {aka boost::spirit::x3::traits::tuple_attribute}’) to type ‘boost::spirit::x3::traits::variant_attribute’ | |
detail::move_to(std::move(src), dest | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:149:9: note: candidate: template<class Iterator> void boost::spirit::x3::traits::detail::move_to(Iterator, Iterator, boost::spirit::x3::unused_type, boost::spirit::x3::traits::unused_attribute) | |
move_to(Iterator, Iterator, unused_type, unused_attribute) {} | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:149:9: note: template argument deduction/substitution failed: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: note: deduced conflicting types for parameter ‘Iterator’ (‘bool’ and ‘sql::ast::sql_stmt’) | |
detail::move_to(std::move(src), dest | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:153:9: note: candidate: template<class Iterator, class Dest> void boost::spirit::x3::traits::detail::move_to(Iterator, Iterator, Dest&, boost::spirit::x3::traits::container_attribute) | |
move_to(Iterator first, Iterator last, Dest& dest, container_attribute) | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:153:9: note: template argument deduction/substitution failed: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: note: deduced conflicting types for parameter ‘Iterator’ (‘bool’ and ‘sql::ast::sql_stmt’) | |
detail::move_to(std::move(src), dest | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:163:9: note: candidate: template<class Iterator> void boost::spirit::x3::traits::detail::move_to(Iterator, Iterator, boost::iterator_range<IteratorT>&, boost::spirit::x3::traits::container_attribute) | |
move_to(Iterator first, Iterator last, boost::iterator_range<Iterator>& rng, container_attribute) | |
^ | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:163:9: note: template argument deduction/substitution failed: | |
libs/boost_1_59_0/boost/spirit/home/x3/support/traits/move_to.hpp:173:24: note: deduced conflicting types for parameter ‘Iterator’ (‘bool’ and ‘sql::ast::sql_stmt’) | |
detail::move_to(std::move(src), dest | |
^ | |
CMakeFiles/minast5.dir/build.make:62: recipe for target 'CMakeFiles/minast5.dir/min/minast5.cpp.o' failed | |
make[2]: *** [CMakeFiles/minast5.dir/min/minast5.cpp.o] Error 1 | |
CMakeFiles/Makefile2:252: recipe for target 'CMakeFiles/minast5.dir/all' failed | |
make[1]: *** [CMakeFiles/minast5.dir/all] Error 2 | |
Makefile:83: recipe for target 'all' failed | |
make: *** [all] Error 2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment