[09/12] Move "paren_depth" into ada_parse_state

Message ID 20240321-ada-iterated-assign-v1-9-925cdd4f1f4a@adacore.com
State New
Headers
Series Ada iterated assignment, plus parser cleanups |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 success Testing passed

Commit Message

Tom Tromey March 21, 2024, 7:03 p.m. UTC
  This moves the "paren_depth" global into ada_parse_state.
---
 gdb/ada-exp.y |  3 +++
 gdb/ada-lex.l | 12 ++++--------
 2 files changed, 7 insertions(+), 8 deletions(-)
  

Patch

diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y
index 73178a58a0c..2b058571492 100644
--- a/gdb/ada-exp.y
+++ b/gdb/ada-exp.y
@@ -103,6 +103,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);
 }