mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-21 19:42:24 +01:00
4c2565649a
Patched for building with bison-3 on -current. Signed-off-by: David Spencer <baildon.research@googlemail.com>
115 lines
3.6 KiB
Diff
115 lines
3.6 KiB
Diff
# HG changeset patch
|
|
# User Martin Blais <blais@furius.ca>
|
|
# Date 1407690283 14400
|
|
# Node ID e3cdca0088916446b019dcbf8ea7164cc5f788ac
|
|
# Parent 5ebaec3d8cb9bb8eaf0600acee495a1ffc28b67c
|
|
Applied patch from <john dot schmerge at gmail dot com> for bison 3.0.2
|
|
|
|
diff --git a/src/resParser.cpp b/src/resParser.cpp
|
|
--- a/src/resParser.cpp
|
|
+++ b/src/resParser.cpp
|
|
@@ -73,7 +73,7 @@
|
|
|
|
//------------------------------------------------------------------------------
|
|
//
|
|
-void resParsererror( const char* msg )
|
|
+void resParsererror( XxResources *, 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;
|
|
diff --git a/src/resParser.l b/src/resParser.l
|
|
--- a/src/resParser.l
|
|
+++ b/src/resParser.l
|
|
@@ -76,7 +76,7 @@
|
|
result = YY_NULL; \
|
|
} \
|
|
else { \
|
|
- int ii = 0; \
|
|
+ unsigned ii = 0; \
|
|
for ( ; (ii < max_size) && (!input_stream_ptr->atEnd()); ++ii ) { \
|
|
(*input_stream_ptr) >> buf[ii]; \
|
|
} \
|
|
diff --git a/src/resParser.y b/src/resParser.y
|
|
--- a/src/resParser.y
|
|
+++ b/src/resParser.y
|
|
@@ -20,11 +20,6 @@
|
|
*
|
|
******************************************************************************/
|
|
|
|
-%union
|
|
-{
|
|
- int num;
|
|
- char* str;
|
|
-}
|
|
%{
|
|
|
|
// xxdiff imports
|
|
@@ -39,12 +34,22 @@
|
|
|
|
// The parser input is the resources object to fill in.
|
|
#define RESOURCES ( static_cast<XxResources*>(resources) )
|
|
-#define YYPARSE_PARAM resources
|
|
+%}
|
|
|
|
+%define api.pure full
|
|
+%parse-param {XxResources * resources}
|
|
+
|
|
+%union
|
|
+{
|
|
+ int num;
|
|
+ char* str;
|
|
+}
|
|
+
|
|
+%{
|
|
// Declare lexer from other compilation unit.
|
|
int resParserlex( YYSTYPE* yylval );
|
|
|
|
-void resParsererror( const char* msg );
|
|
+void resParsererror( XxResources *, const char* msg );
|
|
|
|
// Declare some parser functions and data defined in resParser.cpp
|
|
namespace XxResParserNS {
|
|
@@ -144,7 +149,6 @@
|
|
%type <num> boolkwd
|
|
|
|
%start xxdiffrc
|
|
-%pure_parser
|
|
|
|
%%
|
|
xxdiffrc : stmts
|
|
@@ -188,7 +192,7 @@
|
|
RESOURCES->setPreferredGeometry( geometry );
|
|
}
|
|
else {
|
|
- yyerror( "Bad geometry specification." );
|
|
+ yyerror( NULL, "Bad geometry specification." );
|
|
// Should never happen, the lexer regexp should be tough
|
|
// enough.
|
|
}
|
|
@@ -212,7 +216,7 @@
|
|
QString err = QString( "Requested style key does not exist." );
|
|
err += QString( "\nValid styles are: " );
|
|
err += styles.join( ", " );
|
|
- yyerror( err.toLatin1().constData() );
|
|
+ yyerror( NULL, err.toLatin1().constData() );
|
|
}
|
|
}
|
|
;
|
|
@@ -224,7 +228,7 @@
|
|
char buf[2048];
|
|
::snprintf( buf, 2048,
|
|
"Unrecognized accelerator: %s\n", $5 );
|
|
- yyerror( buf );
|
|
+ yyerror( NULL, buf );
|
|
}
|
|
}
|
|
;
|