aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-01-06 09:49:11 -0700
committerSimon Marchi <simon.marchi@ericsson.com>2019-01-08 12:45:19 -0500
commitcfeadda545c4961877969e6a66be79278696e012 (patch)
treea23a098d0b9aa48402b56d60ea2805523f85920b
parent236f4ebe3ac7e8f94184fdcc39c70d74cc62b82a (diff)
downloadgdb-cfeadda545c4961877969e6a66be79278696e012.zip
gdb-cfeadda545c4961877969e6a66be79278696e012.tar.gz
gdb-cfeadda545c4961877969e6a66be79278696e012.tar.bz2
Fix build failure with macOS bison
PR gdb/24060 points out a compilation failure of the C, Fortran and Pascal parsers when they are built using the macOS system bison. The bug is a name clash between the VARIABLE token name and the VARIABLE enumerator in ui-out.h. This patch renames VARIABLE in c-exp.y, f-exp.y and p-exp.y to DOLLAR_VARIABLE to avoid the clash. It also renames similar variables in other .y files so that all languages use the same name. gdb/ChangeLog 2019-01-07 Tom Tromey <tom@tromey.com> 2019-01-07 Simon Marchi <simon.marchi@ericsson.com> PR gdb/24060: * ada-exp.y (DOLLAR_VARIABLE): Rename from SPECIAL_VARIABLE. * ada-lex.l (DOLLAR_VARIABLE): Likewise. * c-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE. * f-exp.y (DOLLAR_VARIABLE): Likewise. * m2-exp.y (DOLLAR_VARIABLE): Rename from INTERNAL_VAR. * p-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE.
-rw-r--r--gdb/ChangeLog11
-rw-r--r--gdb/ada-exp.y4
-rw-r--r--gdb/ada-lex.l2
-rw-r--r--gdb/c-exp.y8
-rw-r--r--gdb/f-exp.y6
-rw-r--r--gdb/m2-exp.y6
-rw-r--r--gdb/p-exp.y6
7 files changed, 27 insertions, 16 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 71345ac..d16d9e1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,14 @@
+2019-01-08 Tom Tromey <tom@tromey.com>
+ Simon Marchi <simon.marchi@ericsson.com>
+
+ PR gdb/24060
+ * ada-exp.y (DOLLAR_VARIABLE): Rename from SPECIAL_VARIABLE.
+ * ada-lex.l (DOLLAR_VARIABLE): Likewise.
+ * c-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE.
+ * f-exp.y (DOLLAR_VARIABLE): Likewise.
+ * m2-exp.y (DOLLAR_VARIABLE): Rename from INTERNAL_VAR.
+ * p-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE.
+
2019-01-08 Andrew Burgess <andrew.burgess@embecosm.com>
* source.c (select_source_symtab): Move header comment to
diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y
index 5342e6b..5925416 100644
--- a/gdb/ada-exp.y
+++ b/gdb/ada-exp.y
@@ -151,7 +151,7 @@ static struct type *type_system_address (struct parser_state *);
/* Special type cases, put in to allow the parser to distinguish different
legal basetypes. */
-%token <sval> SPECIAL_VARIABLE
+%token <sval> DOLLAR_VARIABLE
%nonassoc ASSIGN
%left _AND_ OR XOR THEN ELSE
@@ -275,7 +275,7 @@ primary : var_or_type %prec VAR
}
;
-primary : SPECIAL_VARIABLE /* Various GDB extensions */
+primary : DOLLAR_VARIABLE /* Various GDB extensions */
{ write_dollar_variable (pstate, $1); }
;
diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l
index 95ea92e..05af013 100644
--- a/gdb/ada-lex.l
+++ b/gdb/ada-lex.l
@@ -290,7 +290,7 @@ false { return FALSEKEYWORD; }
"$"({LETTER}|{DIG}|"$")* {
yylval.sval.ptr = yytext;
yylval.sval.length = yyleng;
- return SPECIAL_VARIABLE;
+ return DOLLAR_VARIABLE;
}
/* CATCH-ALL ERROR CASE */
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index 155fe09..f3ef23c 100644
--- a/gdb/c-exp.y
+++ b/gdb/c-exp.y
@@ -234,7 +234,7 @@ static void c_print_token (FILE *file, int type, YYSTYPE value);
legal basetypes. */
%token SIGNED_KEYWORD LONG SHORT INT_KEYWORD CONST_KEYWORD VOLATILE_KEYWORD DOUBLE_KEYWORD
-%token <sval> VARIABLE
+%token <sval> DOLLAR_VARIABLE
%token <opcode> ASSIGN_MODIFY
@@ -798,7 +798,7 @@ exp : FLOAT
exp : variable
;
-exp : VARIABLE
+exp : DOLLAR_VARIABLE
{
write_dollar_variable (pstate, $1);
}
@@ -2884,7 +2884,7 @@ lex_one_token (struct parser_state *par_state, bool *is_quoted_name)
}
if (*tokstart == '$')
- return VARIABLE;
+ return DOLLAR_VARIABLE;
if (parse_completion && *lexptr == '\0')
saw_name_at_eof = 1;
@@ -3337,7 +3337,7 @@ c_print_token (FILE *file, int type, YYSTYPE value)
break;
case NSSTRING:
- case VARIABLE:
+ case DOLLAR_VARIABLE:
parser_fprintf (file, "sval<%s>", copy_name (value.sval));
break;
diff --git a/gdb/f-exp.y b/gdb/f-exp.y
index ae6f86a..d70c664 100644
--- a/gdb/f-exp.y
+++ b/gdb/f-exp.y
@@ -161,7 +161,7 @@ static int parse_number (struct parser_state *, const char *, int,
%token BOOL_AND BOOL_OR BOOL_NOT
%token <lval> CHARACTER
-%token <voidval> VARIABLE
+%token <voidval> DOLLAR_VARIABLE
%token <opcode> ASSIGN_MODIFY
@@ -426,7 +426,7 @@ exp : FLOAT
exp : variable
;
-exp : VARIABLE
+exp : DOLLAR_VARIABLE
;
exp : SIZEOF '(' type ')' %prec UNARY
@@ -1135,7 +1135,7 @@ yylex (void)
if (*tokstart == '$')
{
write_dollar_variable (pstate, yylval.sval);
- return VARIABLE;
+ return DOLLAR_VARIABLE;
}
/* Use token-type TYPENAME for symbols that happen to be defined
diff --git a/gdb/m2-exp.y b/gdb/m2-exp.y
index a039491..85d5876 100644
--- a/gdb/m2-exp.y
+++ b/gdb/m2-exp.y
@@ -125,7 +125,7 @@ static int number_sign = 1;
/* The GDB scope operator */
%token COLONCOLON
-%token <voidval> INTERNAL_VAR
+%token <voidval> DOLLAR_VARIABLE
/* M2 tokens */
%left ','
@@ -535,7 +535,7 @@ variable: fblock
;
/* GDB internal ($foo) variable */
-variable: INTERNAL_VAR
+variable: DOLLAR_VARIABLE
;
/* GDB scope operator */
@@ -949,7 +949,7 @@ yylex (void)
if (*tokstart == '$')
{
write_dollar_variable (pstate, yylval.sval);
- return INTERNAL_VAR;
+ return DOLLAR_VARIABLE;
}
/* Use token-type BLOCKNAME for symbols that happen to be defined as
diff --git a/gdb/p-exp.y b/gdb/p-exp.y
index 7e2769e..31e8c4b 100644
--- a/gdb/p-exp.y
+++ b/gdb/p-exp.y
@@ -158,7 +158,7 @@ static int search_field;
/* Special type cases, put in to allow the parser to distinguish different
legal basetypes. */
-%token <voidval> VARIABLE
+%token <voidval> DOLLAR_VARIABLE
/* Object pascal */
@@ -521,7 +521,7 @@ exp : FLOAT
exp : variable
;
-exp : VARIABLE
+exp : DOLLAR_VARIABLE
/* Already written by write_dollar_variable.
Handle current_type. */
{ if (intvar) {
@@ -1492,7 +1492,7 @@ yylex (void)
tmp[namelen] = '\0';
intvar = lookup_only_internalvar (tmp + 1);
free (uptokstart);
- return VARIABLE;
+ return DOLLAR_VARIABLE;
}
/* Use token-type BLOCKNAME for symbols that happen to be defined as