mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 05:36:47 +00:00
heimdal: yyerror match posix standard
required to compile with GNU Bison 3.8 Patch has been upstreamed and works with Bison 2.x --> 3.8
This commit is contained in:
parent
b093ba8085
commit
954f9fafec
@ -0,0 +1,83 @@
|
||||
From 79b8337d54b2d85f73eff2d033ca592447ac5fce Mon Sep 17 00:00:00 2001
|
||||
From: heitbaum <rudi@heitbaum.com>
|
||||
Date: Fri, 10 Sep 2021 00:28:16 +1000
|
||||
Subject: [PATCH] yyerror: update to POSIX standard
|
||||
|
||||
To comply with the latest POSIX standard, in Yacc compatibility mode
|
||||
(options `-y`/`--yacc`) Bison now generates prototypes for yyerror and
|
||||
yylex. In some situations, this is breaking compatibility: if the user
|
||||
has already declared these functions but with some differences (e.g., to
|
||||
declare them as static, or to use specific attributes), the generated
|
||||
parser will fail to compile. To disable these prototypes, #define yyerror
|
||||
(to `yyerror`), and likewise for yylex.
|
||||
|
||||
refer: https://git.savannah.gnu.org/cgit/bison.git/tree/NEWS
|
||||
|
||||
GNU Bison 3.8
|
||||
---
|
||||
lib/asn1/asn1parse.y | 1 +
|
||||
lib/com_err/parse.y | 5 +++--
|
||||
lib/sl/slc-lex.l | 2 +-
|
||||
lib/sl/slc.h | 3 ++-
|
||||
4 files changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/lib/asn1/asn1parse.y b/lib/asn1/asn1parse.y
|
||||
index 9d8b76f582..91b163a28b 100644
|
||||
--- a/lib/asn1/asn1parse.y
|
||||
+++ b/lib/asn1/asn1parse.y
|
||||
@@ -65,6 +65,7 @@ static void validate_object_set(IOSObjectSet *);
|
||||
static struct constraint_spec *new_constraint_spec(enum ctype);
|
||||
static Type *new_tag(int tagclass, int tagvalue, int tagenv, Type *oldtype);
|
||||
void yyerror (const char *);
|
||||
+#define yyerror yyerror
|
||||
static struct objid *new_objid(const char *label, int value);
|
||||
static void add_oid_to_tail(struct objid *, struct objid *);
|
||||
static void fix_labels(Symbol *s);
|
||||
diff --git a/lib/com_err/parse.y b/lib/com_err/parse.y
|
||||
index 0c2e5084b5..bcb9b05204 100644
|
||||
--- a/lib/com_err/parse.y
|
||||
+++ b/lib/com_err/parse.y
|
||||
@@ -35,7 +35,8 @@
|
||||
#include "compile_et.h"
|
||||
#include "lex.h"
|
||||
|
||||
-void yyerror (char *s);
|
||||
+void yyerror (const char *s);
|
||||
+#define yyerror yyerror
|
||||
static long name2number(const char *str);
|
||||
|
||||
extern char *yytext;
|
||||
@@ -168,7 +169,7 @@ name2number(const char *str)
|
||||
}
|
||||
|
||||
void
|
||||
-yyerror (char *s)
|
||||
+yyerror (const char *s)
|
||||
{
|
||||
_lex_error_message ("%s\n", s);
|
||||
}
|
||||
diff --git a/lib/sl/slc-lex.l b/lib/sl/slc-lex.l
|
||||
index 50965bccd7..3a37302336 100644
|
||||
--- a/lib/sl/slc-lex.l
|
||||
+++ b/lib/sl/slc-lex.l
|
||||
@@ -78,7 +78,7 @@ error_message (const char *format, ...)
|
||||
}
|
||||
|
||||
void
|
||||
-yyerror (char *s)
|
||||
+yyerror (const char *s)
|
||||
{
|
||||
error_message("%s\n", s);
|
||||
}
|
||||
diff --git a/lib/sl/slc.h b/lib/sl/slc.h
|
||||
index 6e45ed2f15..e4dc2cba6b 100644
|
||||
--- a/lib/sl/slc.h
|
||||
+++ b/lib/sl/slc.h
|
||||
@@ -51,5 +51,6 @@ extern char *filename;
|
||||
extern int error_flag;
|
||||
void error_message (const char *format, ...);
|
||||
int yylex(void);
|
||||
-void yyerror (char *s);
|
||||
+void yyerror (const char *s);
|
||||
+#define yyerror yyerror
|
||||
extern unsigned lineno;
|
Loading…
x
Reference in New Issue
Block a user