summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Biesinger <cbiesinger@google.com>2021-10-08 16:09:46 -0400
committerLuis Machado <luis.machado@arm.com>2022-06-20 11:36:47 +0100
commitad854c4c20b5c01ecd2784498c9a07a4c5c26b19 (patch)
treeff43fd1dbc2b729d9c03acd58813763d4808c1a6
parent1dd907991841bfd269ddc821e7be41f7703f4b9d (diff)
downloadbinutils-gdb-ad854c4c20b5c01ecd2784498c9a07a4c5c26b19.tar.gz
Make c-exp.y work with Bison 3.8+
When using Bison 3.8, we get this error: ../../gdb/c-exp.y:3455:1: error: 'void c_print_token(FILE*, int, YYSTYPE)' defined but not used [-Werror=unused-function] That's because bison 3.8 removed YYPRINT support: https://savannah.gnu.org/forum/forum.php?forum_id=10047 Accordingly, this patch only defines that function for Bison < 3.8. Change-Id: I3cbf2f317630bb72810b00f2d9b2c4b99fa812ad
-rw-r--r--gdb/c-exp.y5
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index 17f317b2e68..a669f1ae95f 100644
--- a/gdb/c-exp.y
+++ b/gdb/c-exp.y
@@ -167,7 +167,7 @@ static void check_parameter_typelist (std::vector<struct type *> *);
static void write_destructor_name (struct parser_state *par_state,
struct stoken);
-#ifdef YYBISON
+#if defined(YYBISON) && YYBISON < 30800
static void c_print_token (FILE *file, int type, YYSTYPE value);
#define YYPRINT(FILE, TYPE, VALUE) c_print_token (FILE, TYPE, VALUE)
#endif
@@ -3429,7 +3429,8 @@ c_parse (struct parser_state *par_state)
return yyparse ();
}
-#ifdef YYBISON
+#if defined(YYBISON) && YYBISON < 30800
+
/* This is called via the YYPRINT macro when parser debugging is
enabled. It prints a token's value. */