aboutsummaryrefslogtreecommitdiff
path: root/gdb/d-exp.y
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-03-24 11:20:05 -0600
committerTom Tromey <tom@tromey.com>2019-04-04 19:55:10 -0600
commit1e58a4a4db997cf09315c22f3da725d1da7f9ee7 (patch)
tree5166626dc2cad5a02581b158edaa245045922ab9 /gdb/d-exp.y
parent37eedb39824dc26c82a92b5515a352d7de0c9b5b (diff)
downloadfsf-binutils-gdb-1e58a4a4db997cf09315c22f3da725d1da7f9ee7.zip
fsf-binutils-gdb-1e58a4a4db997cf09315c22f3da725d1da7f9ee7.tar.gz
fsf-binutils-gdb-1e58a4a4db997cf09315c22f3da725d1da7f9ee7.tar.bz2
Move expression_context_* globals to parser_state
This moves the expression_context_block and expression_context_pc globals to be members of parser_state and updates the parsers. gdb/ChangeLog 2019-04-04 Tom Tromey <tom@tromey.com> * rust-exp.y (rust_parser::crate_name, rust_parser::super_name) (rust_parser::convert_ast_to_type) (rust_parser::convert_ast_to_expression, rust_lex_tests): Update. * parser-defs.h (struct parser_state) <parser_state>: Add parameters. Initialize new members. <expression_context_block, expression_context_pc>: New members. * parse.c (expression_context_block, expression_context_pc): Remove globals. (parse_exp_in_context): Update. * p-exp.y: Update all rules. (yylex): Update. * m2-exp.y: Update all rules. (yylex): Update. * go-exp.y (yylex): Update. * f-exp.y (yylex): Update. * d-exp.y: Update all rules. (yylex): Update. * c-exp.y: Update all rules. (lex_one_token, classify_name, yylex, c_parse): Update. * ada-exp.y (write_var_or_type, write_name_assoc): Update.
Diffstat (limited to 'gdb/d-exp.y')
-rw-r--r--gdb/d-exp.y11
1 files changed, 6 insertions, 5 deletions
diff --git a/gdb/d-exp.y b/gdb/d-exp.y
index 50c8325..a701c25 100644
--- a/gdb/d-exp.y
+++ b/gdb/d-exp.y
@@ -416,8 +416,8 @@ PrimaryExpression:
struct block_symbol sym;
/* Handle VAR, which could be local or global. */
- sym = lookup_symbol (copy, expression_context_block, VAR_DOMAIN,
- &is_a_field_of_this);
+ sym = lookup_symbol (copy, pstate->expression_context_block,
+ VAR_DOMAIN, &is_a_field_of_this);
if (sym.symbol && SYMBOL_CLASS (sym.symbol) != LOC_TYPEDEF)
{
if (symbol_read_needs_frame (sym.symbol))
@@ -1458,7 +1458,7 @@ yylex (void)
if (current.token == IDENTIFIER)
{
yylval = current.value;
- current.token = classify_name (pstate, expression_context_block);
+ current.token = classify_name (pstate, pstate->expression_context_block);
current.value = yylval;
}
@@ -1489,7 +1489,8 @@ yylex (void)
yylval.sval.ptr = (char *) obstack_base (&name_obstack);
yylval.sval.length = obstack_object_size (&name_obstack);
- current.token = classify_name (pstate, expression_context_block);
+ current.token = classify_name (pstate,
+ pstate->expression_context_block);
current.value = yylval;
/* We keep going until we find a TYPENAME. */
@@ -1526,7 +1527,7 @@ yylex (void)
else
{
gdb_assert (current.token == TYPENAME);
- search_block = expression_context_block;
+ search_block = pstate->expression_context_block;
obstack_grow (&name_obstack, current.value.sval.ptr,
current.value.sval.length);
context_type = current.value.tsym.type;