[4/5] Remove the type_qualifier global

Message ID 20210716191750.2619599-5-tromey@adacore.com
State New
Headers show
Series
  • Fix Ada qualification bug
Related show

Commit Message

Tom Tromey July 16, 2021, 7:17 p.m.
The type_qualifier global is no longer needed in the Ada expression
parser, so this removes it.
---
 gdb/ada-exp.y | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

-- 
2.26.3

Patch

diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y
index a0b8b7df8ce..66d58b06cb5 100644
--- a/gdb/ada-exp.y
+++ b/gdb/ada-exp.y
@@ -68,10 +68,6 @@  struct name_info {
 
 static struct parser_state *pstate = NULL;
 
-/* If expression is in the context of TYPE'(...), then TYPE, else
- * NULL.  */
-static struct type *type_qualifier;
-
 int yyparse (void);
 
 static int yylex (void);
@@ -428,8 +424,6 @@  pop_associations (int n)
 %type <bval> block
 %type <lval> arglist tick_arglist
 
-%type <tval> save_qualifier
-
 %token DOT_ALL
 
 /* Special type cases, put in to allow the parser to distinguish different
@@ -516,8 +510,7 @@  primary :	primary '(' arglist ')'
 			}
 	;
 
-primary :	var_or_type '\'' save_qualifier { type_qualifier = $1; } 
-		   '(' exp ')'
+primary :	var_or_type '\'' '(' exp ')'
 			{
 			  if ($1 == NULL)
 			    error (_("Type required for qualification"));
@@ -525,13 +518,9 @@  primary :	var_or_type '\'' save_qualifier { type_qualifier = $1; }
 						      check_typedef ($1));
 			  pstate->push_new<ada_qual_operation>
 			    (std::move (arg), $1);
-			  type_qualifier = $3;
 			}
 	;
 
-save_qualifier : 	{ $$ = type_qualifier; }
-	;
-
 primary :
 		primary '(' simple_exp DOTDOT simple_exp ')'
 			{ ada_wrap3<ada_ternop_slice_operation> (); }
@@ -1093,7 +1082,6 @@  ada_parse (struct parser_state *par_state)
   pstate = par_state;
 
   lexer_init (yyin);		/* (Re-)initialize lexer.  */
-  type_qualifier = NULL;
   obstack_free (&temp_parse_space, NULL);
   obstack_init (&temp_parse_space);
   components.clear ();