Description: Work around #714851
 This uses void * rather than yyscan_t in the generated parser to avoid a
 circular dependency.
Author: Simon Richter <sjr@debian.org>
Last-Update: 2013-07-03

Index: foundry-0.0.20130703/parse/parse.yy
===================================================================
--- foundry-0.0.20130703.orig/parse/parse.yy	2013-07-03 15:10:08.546430492 +0200
+++ foundry-0.0.20130703/parse/parse.yy	2013-07-03 15:10:49.422428669 +0200
@@ -12,14 +12,14 @@
 
 %expect 0
 
-%parse-param {yyscan_t scanner}
+%parse-param {void *scanner}
 %parse-param {::foundry::parse::cst::start *&ret}
-%lex-param {yyscan_t scanner}
+%lex-param {void *scanner}
 
 %name-prefix="parse_"
 
 %{
-void parse_error(YYLTYPE *loc, yyscan_t, ::foundry::parse::cst::start *&, char const *msg)
+void parse_error(YYLTYPE *loc, void *, ::foundry::parse::cst::start *&, char const *msg)
 {
         std::cerr << loc->first_line << ":" << msg << std::endl;
 }
Index: foundry-0.0.20130703/parse/bison_output_visitor.cpp
===================================================================
--- foundry-0.0.20130703.orig/parse/bison_output_visitor.cpp	2013-07-03 15:10:08.546430492 +0200
+++ foundry-0.0.20130703/parse/bison_output_visitor.cpp	2013-07-03 15:10:49.422428669 +0200
@@ -39,14 +39,14 @@
         out << "" << std::endl;
         out << "%expect 0" << std::endl;
         out << "" << std::endl;
-        out << "%parse-param {yyscan_t scanner}" << std::endl;
+        out << "%parse-param {void *scanner}" << std::endl;
         out << "%parse-param {" << ns << start->name << " *&ret}" << std::endl;
-        out << "%lex-param {yyscan_t scanner}" << std::endl;
+        out << "%lex-param {void *scanner}" << std::endl;
         out << "" << std::endl;
         out << "%name-prefix=\"parse_\"" << std::endl;
         out << "" << std::endl;
         out << "%{" << std::endl;
-        out << "void parse_error(YYLTYPE *loc, yyscan_t, " << ns << start->name << " *&, char const *msg)" << std::endl;
+        out << "void parse_error(YYLTYPE *loc, void *, " << ns << start->name << " *&, char const *msg)" << std::endl;
         out << "{" << std::endl;
         out << "        std::cerr << loc->first_line << \":\" << msg << std::endl;" << std::endl;
         out << "}" << std::endl;
