Index: b/tests/test-bison-yylloc/main.c
===================================================================
--- a/tests/test-bison-yylloc/main.c
+++ b/tests/test-bison-yylloc/main.c
@@ -24,8 +24,6 @@
#include "parser.h"
#include "scanner.h"
-extern int testparse(yyscan_t);
-
int main ( int argc, char** argv )
{
yyscan_t scanner;
Index: b/tests/test-bison-yylloc/parser.y
===================================================================
--- a/tests/test-bison-yylloc/parser.y
+++ b/tests/test-bison-yylloc/parser.y
@@ -21,6 +21,8 @@
* PURPOSE.
*/
+%parse-param { void* scanner }
+
/*
How to compile:
bison --defines --output-file="parser.c" --name-prefix="test" parser.y
@@ -32,10 +34,8 @@
#include "config.h"
#define YYERROR_VERBOSE 1
-#define YYPARSE_PARAM scanner
#define YYLEX_PARAM scanner
-int yyerror(char* msg);
extern int testget_lineno(void*);
@@ -89,7 +89,7 @@ line:
%%
-int yyerror(char* msg) {
+int yyerror(void* scanner, char* msg) {
fprintf(stderr,"%s\n",msg);
return 0;
}
Index: b/tests/test-bison-yylval/main.c
===================================================================
--- a/tests/test-bison-yylval/main.c
+++ b/tests/test-bison-yylval/main.c
@@ -24,8 +24,6 @@
#include "parser.h"
#include "scanner.h"
-extern int testparse(yyscan_t);
-
int main ( int argc, char** argv )
{
yyscan_t scanner;
Index: b/tests/test-bison-yylval/parser.y
===================================================================
--- a/tests/test-bison-yylval/parser.y
+++ b/tests/test-bison-yylval/parser.y
@@ -25,6 +25,7 @@
How to compile:
bison --defines --output-file="parser.c" --name-prefix="test" parser.y
*/
+%parse-param { void* scanner }
%{
#include <stdio.h>
#include <stdlib.h>
@@ -32,11 +33,8 @@
#include "config.h"
#define YYERROR_VERBOSE 1
-#define YYPARSE_PARAM scanner
#define YYLEX_PARAM scanner
-int yyerror(char* msg);
-
/* A dummy function. A check against seg-faults in yylval->str. */
int process_text(char* s) {
@@ -76,7 +74,7 @@ starttag: LT TAGNAME GT { process_
endtag: LTSLASH TAGNAME GT { process_text($2);free($2);} ;
%%
-int yyerror(char* msg) {
+int yyerror(void* scanner, char* msg) {
fprintf(stderr,"%s\n",msg);
return 0;
}