diff options
Diffstat (limited to 'dev-util/xxdiff/files/xxdiff-4.0_beta1_p20110426-bison3.patch')
-rw-r--r-- | dev-util/xxdiff/files/xxdiff-4.0_beta1_p20110426-bison3.patch | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/dev-util/xxdiff/files/xxdiff-4.0_beta1_p20110426-bison3.patch b/dev-util/xxdiff/files/xxdiff-4.0_beta1_p20110426-bison3.patch new file mode 100644 index 000000000000..fba71996b217 --- /dev/null +++ b/dev-util/xxdiff/files/xxdiff-4.0_beta1_p20110426-bison3.patch @@ -0,0 +1,100 @@ +http://bugs.gentoo.org/511560 + +Description: Fix compilation with Bison 3 +YYPARSE_PARAM was deprecated in Bison 1.875 and removed in Bison 3; +%parse-param can be used instead. Also fix a warning about %pure_parser +Author: Florian Schlichting <fsfs@debian.org> + +--- a/src/resParser.y ++++ b/src/resParser.y +@@ -39,12 +39,11 @@ + + // The parser input is the resources object to fill in. + #define RESOURCES ( static_cast<XxResources*>(resources) ) +-#define YYPARSE_PARAM resources + + // Declare lexer from other compilation unit. + int resParserlex( YYSTYPE* yylval ); + +-void resParsererror( const char* msg ); ++void resParsererror( void *resources, const char* msg ); + + // Declare some parser functions and data defined in resParser.cpp + namespace XxResParserNS { +@@ -58,6 +57,9 @@ + + %} + ++/* The parser input is the resources object to fill in. */ ++%parse-param { void *resources } ++ + /* generate header file */ + %defines + +@@ -144,7 +146,7 @@ + %type <num> boolkwd + + %start xxdiffrc +-%pure_parser ++%pure-parser + + %% + xxdiffrc : stmts +@@ -188,7 +190,7 @@ + RESOURCES->setPreferredGeometry( geometry ); + } + else { +- yyerror( "Bad geometry specification." ); ++ yyerror( resources, "Bad geometry specification." ); + // Should never happen, the lexer regexp should be tough + // enough. + } +@@ -212,7 +214,7 @@ + QString err = QString( "Requested style key does not exist." ); + err += QString( "\nValid styles are: " ); + err += styles.join( ", " ); +- yyerror( err.toLatin1().constData() ); ++ yyerror( resources, err.toLatin1().constData() ); + } + } + ; +@@ -224,7 +226,7 @@ + char buf[2048]; + ::snprintf( buf, 2048, + "Unrecognized accelerator: %s\n", $5 ); +- yyerror( buf ); ++ yyerror( resources, buf ); + } + } + ; +--- a/src/resParser.l ++++ b/src/resParser.l +@@ -298,7 +298,7 @@ + QString os; + QTextOStream oss( &os ); + oss << "ignoring char: " << yytext << flush; +- yyerror( os.latin1() ); ++ yyerror( resources, os.latin1() ); + */ + } + } +--- a/src/resParser.cpp ++++ b/src/resParser.cpp +@@ -73,7 +73,7 @@ + + //------------------------------------------------------------------------------ + // +-void resParsererror( const char* msg ) ++void resParsererror( void* resources __attribute__((__unused__)), const char* msg ) + { + // Send errors to stdout so we can filter out the debug info shmeglu while + // debugging parser. +@@ -794,7 +794,7 @@ + QString os; + QTextStream oss( &os ); + oss << "Unknown " << errmsg << ": " << name << flush; +- resParsererror( os.toLatin1().constData() ); ++ resParsererror( NULL, os.toLatin1().constData() ); + } + num = ERROR_TOKEN; + return ERROR_TOKEN; |