enum { j = a , b , e , o c ( } namespace ab { template class ac : } } template < , ad> class scanner ; template struct parser_result; template struct parser { typedef f i f derived() const } namespace aa { namespace { namespace { template struct d : parser { } template struct chlit : d> { ae af} template chlit<> ag(ae ; } // namespace namespace template class p { ah n } template class compressed_pair : private p { } template class binary : public s { typedef typename v compressed_pair subj } struct l } // namespace namespace /// namespace spirit { namespace classic { class rule } } // namespace namespacespirit } namespace aa { namespace spirit { namespace classic { template struct al; namespace ar { template h {} template f<> as(); template typename x( al * , u { typedef typename f : aq definition_t; definition_t az = as() }; } // namespace ar template struct al : parser { parse_main(u m { ar::x<0>(this, m) } parser_result<>:: bb( & m { parse_main(m) } } } // namespace classic classic } // namespace spirit // spirit namespace spirit template struct at { typedef ao type } template struct as_parser : at { } namespace template struct alternative : binary>> { } template alternative operator|(parser , B ; template bc operator!(bc ; namespace spirit { namespace classic { struct r { operator[]( } no_node_d; template struct be {} template bg( const , IteratorT , bf parser { scanner m; parser.derived().bb(m) } struct bi { template typename operator()(aj, bl, ); }; bi ap = } } struct no_list_endtoken } // namespace aa // namespace namespace aa { template struct ak { typename as_parser::type delim } struct z { template ak< ItemT, typename as_parser::type, no_list_endtoken, typename as_parser::type> operator()(ItemT , DelimT { } } q; namespace grammars { template struct __attribute__(()) predefined_macros_grammar_gen { typedef t bm spirit::classic::be bd (bm const &, bm const &au } } // namespace grammars / namespace grammars {} namespace grammars { struct am : spirit::classic::al { template struct aq { spirit::classic::rule aq(am { using namespace spirit:classic ap( no_node_d, !q( ag(o) | (j ) | b | ( b) | e , no_node_d ), c) )} } } template aa:spirit:classic:be predefined_macros_grammar_gen::bd ( t const &an, t const &au{ am g; bg(an, au, g); } typedef ab:ac<> lexer_type; template struct predefined_macros_grammar_gen; instantiate_predef_macros.pp.cpp:1:25: error: 'a' was not declared in this scope 1 | enum { j = a , b , e , o c ( } | ^ instantiate_predef_macros.pp.cpp:1:92: error: expected '}' before 'c' 1 | enum { j = a , b , e , o c ( } | ~ ^ instantiate_predef_macros.pp.cpp:1:106: error: expected primary-expression before '}' token 1 | enum { j = a , b , e , o c ( } | ^ instantiate_predef_macros.pp.cpp:1:106: error: expected declaration before '}' token instantiate_predef_macros.pp.cpp:2:62: error: expected class-name before '}' token 2 | namespace ab { template class ac : } | ^ instantiate_predef_macros.pp.cpp:2:62: error: expected '{' before '}' token instantiate_predef_macros.pp.cpp:3:12: error: expected declaration before '}' token 3 | } | ^ instantiate_predef_macros.pp.cpp:4:31: error: expected identifier before ',' token 4 | template < , ad> class scanner ; | ^ instantiate_predef_macros.pp.cpp:4:42: error: 'ad' has not been declared 4 | template < , ad> class scanner ; | ^~ instantiate_predef_macros.pp.cpp:5:19: error: 'u' has not been declared 5 | template struct parser_result; | ^ instantiate_predef_macros.pp.cpp:7:21: error: expected ';' at end of member declaration 7 | typedef f i f derived() const | ^ | ; instantiate_predef_macros.pp.cpp:7:35: error: expected ';' at end of member declaration 7 | typedef f i f derived() const | ^~~~~ | ; instantiate_predef_macros.pp.cpp:8:10: error: expected ';' after struct definition 8 | } namespace aa { | ^ | ; instantiate_predef_macros.pp.cpp:12:12: error: expected ';' after struct definition 12 | } template struct chlit : d> { | ^ | ; instantiate_predef_macros.pp.cpp:13:16: error: expected ';' at end of member declaration 13 | ae af} template chlit<> ag(ae ; | ^~ | ; instantiate_predef_macros.pp.cpp:13:19: error: expected ';' after struct definition 13 | ae af} template chlit<> ag(ae ; | ^ | ; instantiate_predef_macros.pp.cpp:13:71: error: expected ')' before ';' token 13 | ae af} template chlit<> ag(ae ; | ~ ^~ | ) instantiate_predef_macros.pp.cpp:15:21: error: expected identifier before 'template' 15 | namespace template class p { | ^~~~~~~~ instantiate_predef_macros.pp.cpp:16:16: error: expected ';' at end of member declaration 16 | ah n | ^ | ; instantiate_predef_macros.pp.cpp:17:12: error: expected ';' after class definition 17 | } template | ^ | ; instantiate_predef_macros.pp.cpp:19:12: error: expected ';' after class definition 19 | } template class binary : public s { | ^ | ; instantiate_predef_macros.pp.cpp:20:30: error: expected nested-name-specifier before 'v' 20 | typedef typename v compressed_pair subj | ^ instantiate_predef_macros.pp.cpp:20:30: error: expected ';' at end of member declaration 20 | typedef typename v compressed_pair subj | ^ | ; instantiate_predef_macros.pp.cpp:20:66: error: expected ';' at end of member declaration 20 | typedef typename v compressed_pair subj | ^~~~ | ; instantiate_predef_macros.pp.cpp:21:12: error: expected ';' after class definition 21 | } struct l | ^ | ; instantiate_predef_macros.pp.cpp:22:11: error: expected unqualified-id before '}' token 22 | } // namespace | ^ instantiate_predef_macros.pp.cpp:24:15: error: expected identifier before 'namespace' 24 | namespace spirit { | ^~~~~~~~~ instantiate_predef_macros.pp.cpp:27:11: error: expected unqualified-id before '}' token 27 | } | ^ instantiate_predef_macros.pp.cpp:35:18: error: ISO C++ forbids declaration of 'h' with no type [-fpermissive] 35 | template h {} | ^ instantiate_predef_macros.pp.cpp:35:18: error: 'h' is not a template function instantiate_predef_macros.pp.cpp:35:19: error: expected ';' before '{' token 35 | template h {} | ^~ | ; instantiate_predef_macros.pp.cpp:36:53: error: 'f' is not a template 36 | template f<> as(); template typename x( al * , u { | ^ instantiate_predef_macros.pp.cpp:36:142: error: expected nested-name-specifier before 'x' 36 | template f<> as(); template typename x( al * , u { | ^ instantiate_predef_macros.pp.cpp:36:175: error: expected ')' before '{' token 36 | template f<> as(); template typename x( al * , u { | ~ ^ ~ | ) instantiate_predef_macros.pp.cpp: In function 'int aa::spirit::classic::ar::x(aa::spirit::classic::al*, u)': instantiate_predef_macros.pp.cpp:37:24: error: found ':' in nested-name-specifier, expected '::' 37 | typedef typename f : aq definition_t; | ^ | :: instantiate_predef_macros.pp.cpp:38:107: error: expected ',' or ';' before '}' token 38 | definition_t az = as() }; | ^ instantiate_predef_macros.pp.cpp:38:107: warning: no return statement in function returning non-void [-Wreturn-type] instantiate_predef_macros.pp.cpp: At global scope: instantiate_predef_macros.pp.cpp:40:87: error: 'u' has not been declared 40 | template struct al : parser { parse_main(u m { ar::x<0>(this, m) } parser_result<>:: bb( & m { | ^ instantiate_predef_macros.pp.cpp:40:90: error: expected ')' before '{' token 40 | template struct al : parser { parse_main(u m { ar::x<0>(this, m) } parser_result<>:: bb( & m { | ~ ^ ~ | ) instantiate_predef_macros.pp.cpp:40:76: error: ISO C++ forbids declaration of 'parse_main' with no type [-fpermissive] 40 | template struct al : parser { parse_main(u m { ar::x<0>(this, m) } parser_result<>:: bb( & m { | ^~~~~~~~~~ instantiate_predef_macros.pp.cpp:40:143: error: wrong number of template arguments (0, should be 1) 40 | template struct al : parser { parse_main(u m { ar::x<0>(this, m) } parser_result<>:: bb( & m { | ^ instantiate_predef_macros.pp.cpp:5:29: note: provided for 'template< > struct parser_result' 5 | template struct parser_result; | ^~~~~~~~~~~~~ instantiate_predef_macros.pp.cpp:40:155: error: expected identifier before '&' token 40 | template struct al : parser { parse_main(u m { ar::x<0>(this, m) } parser_result<>:: bb( & m { | ^ instantiate_predef_macros.pp.cpp:40:158: error: expected ')' before '{' token 40 | template struct al : parser { parse_main(u m { ar::x<0>(this, m) } parser_result<>:: bb( & m { | ~ ^~ | ) instantiate_predef_macros.pp.cpp:42:10: error: expected ';' after struct definition 42 | } | ^ | ; instantiate_predef_macros.pp.cpp: In member function 'int aa::spirit::classic::al< , >::parse_main(int)': instantiate_predef_macros.pp.cpp:40:118: error: expected ';' before '}' token 40 | template struct al : parser { parse_main(u m { ar::x<0>(this, m) } parser_result<>:: bb( & m { | ^ ~ | ; instantiate_predef_macros.pp.cpp:40:120: warning: no return statement in function returning non-void [-Wreturn-type] 40 | template struct al : parser { parse_main(u m { ar::x<0>(this, m) } parser_result<>:: bb( & m { | ^ instantiate_predef_macros.pp.cpp: In member function 'int aa::spirit::classic::al< , >::bb(int&)': instantiate_predef_macros.pp.cpp:41:20: error: expected ';' before '}' token 41 | parse_main(m) } | ^ ~ | ; instantiate_predef_macros.pp.cpp:41:26: warning: no return statement in function returning non-void [-Wreturn-type] 41 | parse_main(m) } | ^ instantiate_predef_macros.pp.cpp: At global scope: instantiate_predef_macros.pp.cpp:44:9: error: 'classic' does not name a type 44 | classic | ^~~~~~~ instantiate_predef_macros.pp.cpp:47:26: error: expected '{' before 'template' 47 | namespace spirit template struct at { | ^~~~~~~~ instantiate_predef_macros.pp.cpp:48:22: error: expected ';' at end of member declaration 48 | typedef ao type | ^~~~ | ; instantiate_predef_macros.pp.cpp:49:10: error: expected ';' after struct definition 49 | } template struct as_parser : at { | ^ | ; instantiate_predef_macros.pp.cpp:50:10: error: expected ';' after struct definition 50 | } namespace template | ^ | ; instantiate_predef_macros.pp.cpp:50:21: error: expected identifier before 'template' 50 | } namespace template | ^~~~~~~~ instantiate_predef_macros.pp.cpp:51:78: error: expected ';' after struct definition 51 | struct alternative : binary>> { } | ^ | ; instantiate_predef_macros.pp.cpp:52:98: error: expected ')' before ';' token 52 | template alternative operator|(parser , B ; | ~ ^ ~ | ) instantiate_predef_macros.pp.cpp:53:57: error: expected ')' before ';' token 53 | template bc operator!(bc ; | ~ ^~ | ) instantiate_predef_macros.pp.cpp:57:5: error: expected identifier before '}' token 57 | } no_node_d; | ^ instantiate_predef_macros.pp.cpp:57:5: error: expected ',' or '...' before '}' token instantiate_predef_macros.pp.cpp:56:45: error: expected ')' before '}' token 56 | struct r { operator[]( | ~^ | ) 57 | } no_node_d; | ~ instantiate_predef_macros.pp.cpp:56:34: error: ISO C++ forbids declaration of 'operator[]' with no type [-fpermissive] 56 | struct r { operator[]( | ^~~~~~~~ instantiate_predef_macros.pp.cpp:56:44: error: expected ';' at end of member declaration 56 | struct r { operator[]( | ^ | ; instantiate_predef_macros.pp.cpp:58:26: error: expected ';' after struct definition 58 | template struct be {} template bg( const , IteratorT , bf parser { | ^ | ; instantiate_predef_macros.pp.cpp:58:25: error: explicit instantiation of non-template type 'aa::spirit::classic::be' 58 | template struct be {} template bg( const , IteratorT , bf parser { | ^ instantiate_predef_macros.pp.cpp:58:64: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive] 58 | template struct be {} template bg( const , IteratorT , bf parser { | ^~~~~ instantiate_predef_macros.pp.cpp:58:76: error: 'IteratorT' has not been declared 58 | template struct be {} template bg( const , IteratorT , bf parser { | ^~~~~~~~~ instantiate_predef_macros.pp.cpp:58:102: error: expected ')' before '{' token 58 | template struct be {} template bg( const , IteratorT , bf parser { | ~ ^~ | ) instantiate_predef_macros.pp.cpp:58:55: error: ISO C++ forbids declaration of 'bg' with no type [-fpermissive] 58 | template struct be {} template bg( const , IteratorT , bf parser { | ^~ instantiate_predef_macros.pp.cpp: In function 'int aa::spirit::classic::bg(int, int, bf)': instantiate_predef_macros.pp.cpp:59:15: error: 'y' was not declared in this scope 59 | scanner m; | ^ instantiate_predef_macros.pp.cpp:59:16: error: wrong number of template arguments (1, should be 2) 59 | scanner m; | ^ instantiate_predef_macros.pp.cpp:4:56: note: provided for 'template<, > class scanner' 4 | template < , ad> class scanner ; | ^~~~~~~ instantiate_predef_macros.pp.cpp:60:29: error: expected ';' before '}' token 60 | parser.derived().bb(m) } struct bi { | ^ ~ | ; instantiate_predef_macros.pp.cpp:60:38: warning: no return statement in function returning non-void [-Wreturn-type] 60 | parser.derived().bb(m) } struct bi { | ^ instantiate_predef_macros.pp.cpp: At global scope: instantiate_predef_macros.pp.cpp:61:52: error: expected nested-name-specifier before 'operator' 61 | template typename operator()(aj, bl, ); }; bi ap = | ^~~~~~~~ instantiate_predef_macros.pp.cpp:61:71: error: expected identifier before ')' token 61 | template typename operator()(aj, bl, ); }; bi ap = | ^ instantiate_predef_macros.pp.cpp:62:5: error: expected primary-expression before '}' token 62 | } } | ^ instantiate_predef_macros.pp.cpp:62:5: error: expected ',' or ';' before '}' token instantiate_predef_macros.pp.cpp:64:9: error: expected unqualified-id before '}' token 64 | } // namespace aa | ^ instantiate_predef_macros.pp.cpp:66:19: error: expected identifier before 'namespace' 66 | namespace namespace aa { | ^~~~~~~~~ instantiate_predef_macros.pp.cpp:68:43: error: expected ';' at end of member declaration 68 | typename as_parser::type delim | ^~~~~ | ; instantiate_predef_macros.pp.cpp:69:10: error: expected ';' after struct definition 69 | } struct z { template ak< ItemT, typename as_parser::type, no_list_endtoken, typename as_parser::type> operator()(ItemT , DelimT { } | ^ | ; instantiate_predef_macros.pp.cpp:69:239: error: expected ')' before '{' token 69 | } struct z { template ak< ItemT, typename as_parser::type, no_list_endtoken, typename as_parser::type> operator()(ItemT , DelimT { } | ~ ^ ~ | ) instantiate_predef_macros.pp.cpp:73:82: error: expected ';' at end of member declaration 73 | struct __attribute__(()) predefined_macros_grammar_gen { typedef t bm spirit::classic::be bd (bm const &, bm const &au | ^~ | ; instantiate_predef_macros.pp.cpp:74:9: error: expected ',' or '...' before '}' token 74 | } | ^ instantiate_predef_macros.pp.cpp:73:143: error: expected ')' before '}' token 73 | struct __attribute__(()) predefined_macros_grammar_gen { typedef t bm spirit::classic::be bd (bm const &, bm const &au | ~ ^ | ) 74 | } | ~ instantiate_predef_macros.pp.cpp:73:141: error: expected ';' at end of member declaration 73 | struct __attribute__(()) predefined_macros_grammar_gen { typedef t bm spirit::classic::be bd (bm const &, bm const &au | ^~ | ; instantiate_predef_macros.pp.cpp:74:10: error: expected ';' after struct definition 74 | } | ^ | ; instantiate_predef_macros.pp.cpp:76:9: error: expected unqualified-id before '/' token 76 | / namespace grammars {} | ^ instantiate_predef_macros.pp.cpp:79:92: error: expected ')' before '{' token 79 | template struct aq { spirit::classic::rule aq(am { using namespace spirit:classic ap( no_node_d, !q( ag(o) | (j ) | b | ( b) | e , no_node_d ), c) )} | ~ ^ ~ | ) instantiate_predef_macros.pp.cpp:79:53: error: return type specification for constructor invalid 79 | template struct aq { spirit::classic::rule aq(am { using namespace spirit:classic ap( no_node_d, !q( ag(o) | (j ) | b | ( b) | e , no_node_d ), c) )} | ^~~~~~ instantiate_predef_macros.pp.cpp:80:12: error: expected ';' after struct definition 80 | } } template aa:spirit:classic:be predefined_macros_grammar_gen::bd ( t const &an, t const &au{ | ^ | ; instantiate_predef_macros.pp.cpp:80:17: error: expected ';' after struct definition 80 | } } template aa:spirit:classic:be predefined_macros_grammar_gen::bd ( t const &an, t const &au{ | ^ | ; instantiate_predef_macros.pp.cpp: In constructor 'aa::grammars::am::aq< >::aq(aa::grammars::am)': instantiate_predef_macros.pp.cpp:79:142: error: found ':' in nested-name-specifier, expected '::' 79 | template struct aq { spirit::classic::rule aq(am { using namespace spirit:classic ap( no_node_d, !q( ag(o) | (j ) | b | ( b) | e , no_node_d ), c) )} | ^ | :: instantiate_predef_macros.pp.cpp:79:150: error: expected ';' before 'ap' 79 | template struct aq { spirit::classic::rule aq(am { using namespace spirit:classic ap( no_node_d, !q( ag(o) | (j ) | b | ( b) | e , no_node_d ), c) )} | ^ ~~ | ; instantiate_predef_macros.pp.cpp:79:621: error: expected ';' before ')' token 79 | template struct aq { spirit::classic::rule aq(am { using namespace spirit:classic ap( no_node_d, !q( ag(o) | (j ) | b | ( b) | e , no_node_d ), c) )} | ^ ~ | ; instantiate_predef_macros.pp.cpp: At global scope: instantiate_predef_macros.pp.cpp:80:45: error: found ':' in nested-name-specifier, expected '::' 80 | } } template aa:spirit:classic:be predefined_macros_grammar_gen::bd ( t const &an, t const &au{ | ^ | :: instantiate_predef_macros.pp.cpp:80:52: error: found ':' in nested-name-specifier, expected '::' 80 | } } template aa:spirit:classic:be predefined_macros_grammar_gen::bd ( t const &an, t const &au{ | ^ | :: instantiate_predef_macros.pp.cpp:80:60: error: found ':' in nested-name-specifier, expected '::' 80 | } } template aa:spirit:classic:be predefined_macros_grammar_gen::bd ( t const &an, t const &au{ | ^ | :: instantiate_predef_macros.pp.cpp:80:131: error: expected ')' before '{' token 80 | } } template aa:spirit:classic:be predefined_macros_grammar_gen::bd ( t const &an, t const &au{ | ~ ^ | ) instantiate_predef_macros.pp.cpp: In member function 'aa::spirit::classic::be aa::grammars::predefined_macros_grammar_gen::bd(const t&, const t&)': instantiate_predef_macros.pp.cpp:82:22: warning: no return statement in function returning non-void [-Wreturn-type] 82 | bg(an, au, g); } typedef ab:ac<> lexer_type; template struct predefined_macros_grammar_gen; | ^ instantiate_predef_macros.pp.cpp: At global scope: instantiate_predef_macros.pp.cpp:82:37: error: found ':' in nested-name-specifier, expected '::' 82 | bg(an, au, g); } typedef ab:ac<> lexer_type; template struct predefined_macros_grammar_gen; | ^ | :: instantiate_predef_macros.pp.cpp:82:41: error: wrong number of template arguments (0, should be 1) 82 | bg(an, au, g); } typedef ab:ac<> lexer_type; template struct predefined_macros_grammar_gen; | ^ instantiate_predef_macros.pp.cpp:2:53: note: provided for 'template class ab::ac' 2 | namespace ab { template class ac : } | ^~ instantiate_predef_macros.pp.cpp:82:115: error: expected '}' at end of input 82 | bg(an, au, g); } typedef ab:ac<> lexer_type; template struct predefined_macros_grammar_gen; | ^ instantiate_predef_macros.pp.cpp:77:28: note: to match this '{' 77 | namespace grammars { | ^ instantiate_predef_macros.pp.cpp:82:115: error: expected '}' at end of input 82 | bg(an, au, g); } typedef ab:ac<> lexer_type; template struct predefined_macros_grammar_gen; | ^ instantiate_predef_macros.pp.cpp:66:32: note: to match this '{' 66 | namespace namespace aa { | ^ instantiate_predef_macros.pp.cpp: In instantiation of 'aa::ak::type, aa::no_list_endtoken, typename aa::as_parser::type> aa::z::operator()(ItemT, DelimT) [with ItemT = aa::alternative, >, >, >, >; DelimT = aa::spirit::classic::r; typename aa::as_parser::type = aa::alternative, >, >, >, >; typename aa::as_parser::type = aa::spirit::classic::r]': instantiate_predef_macros.pp.cpp:79:228: required from 'aa::grammars::am::aq< >::aq(aa::grammars::am) [with = int; aa::grammars::am = aa::grammars::am]' instantiate_predef_macros.pp.cpp:38:18: required from 'int aa::spirit::classic::ar::x(aa::spirit::classic::al*, u) [with int ax = 0; f = aa::grammars::am; w = aa::{anonymous}::l; u = int]' instantiate_predef_macros.pp.cpp:40:109: required from 'int aa::spirit::classic::al< , >::parse_main(int) [with f = aa::grammars::am; = aa::{anonymous}::l]' instantiate_predef_macros.pp.cpp:41:7: required from 'int aa::spirit::classic::al< , >::bb(int&) [with f = aa::grammars::am; = aa::{anonymous}::l]' instantiate_predef_macros.pp.cpp:60:26: required from 'int aa::spirit::classic::bg(int, int, bf) [with bf = aa::grammars::am]' instantiate_predef_macros.pp.cpp:82:7: required from 'aa::spirit::classic::be aa::grammars::predefined_macros_grammar_gen::bd(const t&, const t&) [with t = int]' instantiate_predef_macros.pp.cpp:82:74: required from here instantiate_predef_macros.pp.cpp:69:249: warning: no return statement in function returning non-void [-Wreturn-type] 69 | } struct z { template ak< ItemT, typename as_parser::type, no_list_endtoken, typename as_parser::type> operator()(ItemT , DelimT { } | ^ instantiate_predef_macros.pp.cpp:52:74: error: 'aa::alternative aa::operator|(parser, B) [with k = aa::alternative, >, >, >; B = ]', declared using unnamed type, is used but never defined [-fpermissive] 52 | template alternative operator|(parser , B ; | ^~~~~~~~ instantiate_predef_macros.pp.cpp:52:74: error: 'aa::alternative aa::operator|(parser, B) [with k = aa::alternative, >, >; B = ]', declared using unnamed type, is used but never defined [-fpermissive] instantiate_predef_macros.pp.cpp:52:74: error: 'aa::alternative aa::operator|(parser, B) [with k = aa::alternative, >; B = ]', declared using unnamed type, is used but never defined [-fpermissive] instantiate_predef_macros.pp.cpp:52:74: error: 'aa::alternative aa::operator|(parser, B) [with k = aa::{anonymous}::{anonymous}::chlit<>; B = ]', declared using unnamed type, is used but never defined [-fpermissive] instantiate_predef_macros.pp.cpp:13:66: error: 'aa::{anonymous}::{anonymous}::chlit<> aa::{anonymous}::{anonymous}::ag(ae) [with ae = ]', declared using unnamed type, is used but never defined [-fpermissive] 13 | ae af} template chlit<> ag(ae ; | ^~ *** stack smashing detected ***: terminated instantiate_predef_macros.pp.cpp:79: confused by earlier errors, bailing out