| From 095b0bf0a730d46d301c0e2fb2e7af40caeb2c9b Mon Sep 17 00:00:00 2001 |
| From: Elias Pipping <pipping@users.sourceforge.net> |
| Date: Mon, 6 Aug 2012 15:13:23 -0400 |
| Subject: [PATCH] Fix two tests to pass under bison 2.6 |
| |
| Given that bison is moving forward with the %parse-param instead of |
| YYPARSE_PARAM syntax, it makes sense to switch over to using the new style |
| declaration. In particular, this means that flex scanners that use bison |
| features will now require bison 2.6 or higher. |
| |
| Signed-off-by: Will Estes <westes575@gmail.com> |
| --- |
| tests/test-bison-yylloc/main.c | 2 -- |
| tests/test-bison-yylloc/parser.y | 6 +++--- |
| tests/test-bison-yylval/main.c | 2 -- |
| tests/test-bison-yylval/parser.y | 6 ++---- |
| 4 files changed, 5 insertions(+), 11 deletions(-) |
| |
| diff --git a/tests/test-bison-yylloc/main.c b/tests/test-bison-yylloc/main.c |
| index 082c88c..24568a9 100644 |
| --- 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; |
| diff --git a/tests/test-bison-yylloc/parser.y b/tests/test-bison-yylloc/parser.y |
| index aaee976..e8f4e56 100644 |
| --- 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; |
| } |
| diff --git a/tests/test-bison-yylval/main.c b/tests/test-bison-yylval/main.c |
| index 165e672..30c4314 100644 |
| --- 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; |
| diff --git a/tests/test-bison-yylval/parser.y b/tests/test-bison-yylval/parser.y |
| index 77bac87..0ffdb89 100644 |
| --- 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_text($2); free($2);} ; |
| 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; |
| } |
| -- |
| 1.7.9.7 |
| |