diff options
author | Tom Tromey <tom@tromey.com> | 2019-03-24 11:33:10 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-04-04 19:55:10 -0600 |
commit | 28aaf3fdf9562c018dcf6ab4d0a4c644fff8d696 (patch) | |
tree | b4ca770f82e55440997751bd9297de577396e1f8 /gdb/m2-exp.y | |
parent | 1e58a4a4db997cf09315c22f3da725d1da7f9ee7 (diff) | |
download | gdb-28aaf3fdf9562c018dcf6ab4d0a4c644fff8d696.zip gdb-28aaf3fdf9562c018dcf6ab4d0a4c644fff8d696.tar.gz gdb-28aaf3fdf9562c018dcf6ab4d0a4c644fff8d696.tar.bz2 |
Remove paren_depth global
This removes the "paren_depth" global. In most cases, it is made into
a static global in a given parser. I consider this a slight
improvement, because it makes it clear that the variable isn't used
for communication between different modules of gdb. The one exception
is the Rust parser, which already incorporates all local state into a
transient object; in this case the parser depth is now a member.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* rust-exp.y (struct rust_parser) <paren_depth>: New member.
(rustyylex, rust_lex_test_init, rust_lex_test_one)
(rust_lex_test_sequence, rust_lex_test_push_back): Update.
* parser-defs.h (paren_depth): Don't declare.
* parse.c (paren_depth): Remove global.
(parse_exp_in_context): Update.
* p-exp.y (paren_depth): New global.
(pascal_parse): Initialize it.
* m2-exp.y (paren_depth): New global.
(m2_parse): Initialize it.
* go-exp.y (paren_depth): New global.
(go_parse): Initialize it.
* f-exp.y (paren_depth): New global.
(f_parse): Initialize it.
* d-exp.y (paren_depth): New global.
(d_parse): Initialize it.
* c-exp.y (paren_depth): New global.
(c_parse): Initialize it.
* ada-lex.l (paren_depth): New global.
(lexer_init): Initialize it.
Diffstat (limited to 'gdb/m2-exp.y')
-rw-r--r-- | gdb/m2-exp.y | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/m2-exp.y b/gdb/m2-exp.y index c1418c7..c0f5e75 100644 --- a/gdb/m2-exp.y +++ b/gdb/m2-exp.y @@ -763,6 +763,9 @@ static struct keyword keytab[] = }; +/* Depth of parentheses. */ +static int paren_depth; + /* Read one token, getting characters through lexptr. */ /* This is where we will check to make sure that the language and the @@ -1039,6 +1042,7 @@ m2_parse (struct parser_state *par_state) scoped_restore pstate_restore = make_scoped_restore (&pstate); gdb_assert (par_state != NULL); pstate = par_state; + paren_depth = 0; return yyparse (); } |