+++ /dev/null
-Submitted by: Matt Burgess (matthew at linuxfromscratch dot org)
-Date: 2009-05-03
-Initial Package Version: 2.5.35
-Origin: Matt Burgess
-Upstream Status: Submitted (attached to sourceforge bug 2178663)
-Description: Fixes an error caused by header cleanups in GCC 4.4.0 that is
- evident from the test suite and would affect any C++ lexers
- generated by Flex. Without this patch, Flex will generate lexers
- containing references to the 'EOF' symbol without including the
- necessary C++ header file, leading to:
-
- error: 'EOF' was not declared in this scope
-
-diff -Naur flex-2.5.35.orig/skel.c flex-2.5.35/skel.c
---- flex-2.5.35.orig/skel.c 2008-02-26 21:34:19.000000000 +0000
-+++ flex-2.5.35/skel.c 2009-05-03 15:18:14.000000000 +0000
-@@ -284,6 +284,7 @@
- "/* begin standard C++ headers. */",
- "#include <iostream> ",
- "#include <errno.h>",
-+ "#include <cstdio>",
- "#include <cstdlib>",
- "#include <cstring>",
- "/* end standard C++ headers. */",
--- /dev/null
+diff -up flex-2.5.36/tests/test-bison-yylloc/main.c~ flex-2.5.36/tests/test-bison-yylloc/main.c
+--- flex-2.5.36/tests/test-bison-yylloc/main.c~ 2002-06-25 21:37:06.000000000 +0200
++++ flex-2.5.36/tests/test-bison-yylloc/main.c 2012-07-31 18:53:22.007394045 +0200
+@@ -21,8 +21,6 @@
+ #include "parser.h"
+ #include "scanner.h"
+
+-extern int testparse(yyscan_t);
+-
+ int main ( int argc, char** argv )
+ {
+ yyscan_t scanner;
+diff -up flex-2.5.36/tests/test-bison-yylloc/parser.y~ flex-2.5.36/tests/test-bison-yylloc/parser.y
+--- flex-2.5.36/tests/test-bison-yylloc/parser.y~ 2002-07-25 02:43:47.000000000 +0200
++++ flex-2.5.36/tests/test-bison-yylloc/parser.y 2012-08-01 01:06:53.093155586 +0200
+@@ -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 -up flex-2.5.36/tests/test-bison-yylval/main.c~ flex-2.5.36/tests/test-bison-yylval/main.c
+--- flex-2.5.36/tests/test-bison-yylval/main.c~ 2002-06-25 21:37:06.000000000 +0200
++++ flex-2.5.36/tests/test-bison-yylval/main.c 2012-08-01 01:10:02.015510280 +0200
+@@ -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 -up flex-2.5.36/tests/test-bison-yylval/parser.y~ flex-2.5.36/tests/test-bison-yylval/parser.y
+--- flex-2.5.36/tests/test-bison-yylval/parser.y~ 2002-06-25 21:37:06.000000000 +0200
++++ flex-2.5.36/tests/test-bison-yylval/parser.y 2012-08-01 01:13:11.239867147 +0200
+@@ -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;
+ }