From: Tom Tromey Date: Thu, 14 Mar 2024 18:29:40 +0000 (-0600) Subject: Move "paren_depth" into ada_parse_state X-Git-Tag: gdb-15-branchpoint~521 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d9346cbfcbf5705d6ee93e9b7b3e789489c50ebd;p=thirdparty%2Fbinutils-gdb.git Move "paren_depth" into ada_parse_state This moves the "paren_depth" global into ada_parse_state. --- diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y index b685ce968f7..21a384bc692 100644 --- a/gdb/ada-exp.y +++ b/gdb/ada-exp.y @@ -102,6 +102,9 @@ struct ada_parse_state auto_obstack temp_space; + /* Depth of parentheses, used by the lexer. */ + int paren_depth = 0; + private: /* We don't have a good way to manage non-POD data in Yacc, so store diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l index 90cb5ba1b8a..9161c4377c0 100644 --- a/gdb/ada-lex.l +++ b/gdb/ada-lex.l @@ -108,9 +108,6 @@ static bool returned_complete = false; pstate->lexptr += 1; \ } -/* Depth of parentheses. */ -static int paren_depth; - %} %option case-insensitive interactive nodefault noyywrap @@ -268,7 +265,7 @@ false { return FALSEKEYWORD; } [-&*+{}@/:<>=|;\[\]] { return yytext[0]; } -"," { if (paren_depth == 0 && pstate->comma_terminates) +"," { if (ada_parser->paren_depth == 0 && pstate->comma_terminates) { rewind_to_char (','); return 0; @@ -277,15 +274,15 @@ false { return FALSEKEYWORD; } return ','; } -"(" { paren_depth += 1; return '('; } -")" { if (paren_depth == 0) +"(" { ada_parser->paren_depth += 1; return '('; } +")" { if (ada_parser->paren_depth == 0) { rewind_to_char (')'); return 0; } else { - paren_depth -= 1; + ada_parser->paren_depth -= 1; return ')'; } } @@ -349,7 +346,6 @@ static void lexer_init (FILE *inp) { BEGIN INITIAL; - paren_depth = 0; returned_complete = false; yyrestart (inp); }