From 28aaf3fdf9562c018dcf6ab4d0a4c644fff8d696 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 24 Mar 2019 11:33:10 -0600 Subject: 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 * rust-exp.y (struct rust_parser) : 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. --- gdb/go-exp.y | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gdb/go-exp.y') diff --git a/gdb/go-exp.y b/gdb/go-exp.y index d112a73..aaffe3d 100644 --- a/gdb/go-exp.y +++ b/gdb/go-exp.y @@ -1001,6 +1001,9 @@ static int saw_name_at_eof; do field name completion. */ static int last_was_structop; +/* Depth of parentheses. */ +static int paren_depth; + /* Read one token, getting characters through lexptr. */ static int @@ -1566,6 +1569,7 @@ go_parse (struct parser_state *par_state) /* Initialize some state used by the lexer. */ last_was_structop = 0; saw_name_at_eof = 0; + paren_depth = 0; token_fifo.clear (); popping = 0; -- cgit v1.1