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.
This commit is contained in:
parent
236f4ebe3a
commit
cfeadda545
|
@ -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
|
||||
|
|
|
@ -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); }
|
||||
;
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue