[02/13] Remove parser_state "initial_size" parameter

Message ID 20190403013805.11978-3-tom@tromey.com
State New
Headers show
Series
  • Remove parser-related globals
Related show

Commit Message

Tom Tromey April 3, 2019, 1:37 a.m.
All the real (not test) uses of parser_state pass 10 as the
"initial_size" parameter, and it seems to me that there's no real
reason to require callers to set this.  This patch removes this
parameter.

gdb/ChangeLog
2019-04-02  Tom Tromey  <tom@tromey.com>

	* dtrace-probe.c (dtrace_probe::build_arg_exprs): Update.
	* stap-probe.c (stap_parse_argument): Update.
	* stap-probe.h (struct stap_parse_info) <stap_parse_info>: Remove
	initial_size parameter.
	* rust-exp.y (rust_lex_tests): Update.
	* parse.c (parser_state): Update.
	(parse_exp_in_context): Update.
	* parser-defs.h (struct parser_state) <parser_state>: Remove
	"initial_size" parameter.
---
 gdb/ChangeLog      | 12 ++++++++++++
 gdb/dtrace-probe.c |  2 +-
 gdb/parse.c        |  7 +++----
 gdb/parser-defs.h  |  7 +++----
 gdb/rust-exp.y     |  2 +-
 gdb/stap-probe.c   |  2 +-
 gdb/stap-probe.h   |  4 ++--
 7 files changed, 23 insertions(+), 13 deletions(-)

-- 
2.17.2

Patch

diff --git a/gdb/dtrace-probe.c b/gdb/dtrace-probe.c
index 527e0f0cd57..f80db713813 100644
--- a/gdb/dtrace-probe.c
+++ b/gdb/dtrace-probe.c
@@ -627,7 +627,7 @@  dtrace_probe::build_arg_exprs (struct gdbarch *gdbarch)
       /* Initialize the expression buffer in the parser state.  The
 	 language does not matter, since we are using our own
 	 parser.  */
-      parser_state pstate (10, current_language, gdbarch);
+      parser_state pstate (current_language, gdbarch);
 
       /* The argument value, which is ABI dependent and casted to
 	 `long int'.  */
diff --git a/gdb/parse.c b/gdb/parse.c
index 671659742dd..69c63da787f 100644
--- a/gdb/parse.c
+++ b/gdb/parse.c
@@ -165,10 +165,9 @@  end_arglist (void)
 
 /* See definition in parser-defs.h.  */
 
-parser_state::parser_state (size_t initial_size,
-			    const struct language_defn *lang,
+parser_state::parser_state (const struct language_defn *lang,
 			    struct gdbarch *gdbarch)
-  : expout_size (initial_size),
+  : expout_size (10),
     expout (XNEWVAR (expression,
 		     (sizeof (expression)
 		      + EXP_ELEM_TO_BYTES (expout_size)))),
@@ -1190,7 +1189,7 @@  parse_exp_in_context (const char **stringptr, CORE_ADDR pc,
      and others called from *.y) ensure CURRENT_LANGUAGE gets restored
      to the value matching SELECTED_FRAME as set by get_current_arch.  */
 
-  parser_state ps (10, lang, get_current_arch ());
+  parser_state ps (lang, get_current_arch ());
 
   scoped_restore_current_language lang_saver;
   set_language (lang->la_language);
diff --git a/gdb/parser-defs.h b/gdb/parser-defs.h
index bb0d52bb05c..ffdbd836a19 100644
--- a/gdb/parser-defs.h
+++ b/gdb/parser-defs.h
@@ -37,11 +37,10 @@  extern int parser_debug;
 
 struct parser_state
 {
-  /* Constructor.  INITIAL_SIZE is the initial size of the expout
-     array.  LANG is the language used to parse the expression.  And
-     GDBARCH is the gdbarch to use during parsing.  */
+  /* Constructor.  LANG is the language used to parse the expression.
+     And GDBARCH is the gdbarch to use during parsing.  */
 
-  parser_state (size_t initial_size, const struct language_defn *lang,
+  parser_state (const struct language_defn *lang,
 		struct gdbarch *gdbarch);
 
   DISABLE_COPY_AND_ASSIGN (parser_state);
diff --git a/gdb/rust-exp.y b/gdb/rust-exp.y
index 9b9735a5d03..1379030730c 100644
--- a/gdb/rust-exp.y
+++ b/gdb/rust-exp.y
@@ -2707,7 +2707,7 @@  rust_lex_tests (void)
   int i;
 
   // Set up dummy "parser", so that rust_type works.
-  struct parser_state ps (0, &rust_language_defn, target_gdbarch ());
+  struct parser_state ps (&rust_language_defn, target_gdbarch ());
   rust_parser parser (&ps);
 
   rust_lex_test_one (&parser, "", 0);
diff --git a/gdb/stap-probe.c b/gdb/stap-probe.c
index a53c04d94b1..24b2b78a903 100644
--- a/gdb/stap-probe.c
+++ b/gdb/stap-probe.c
@@ -1149,7 +1149,7 @@  stap_parse_argument (const char **arg, struct type *atype,
   /* We need to initialize the expression buffer, in order to begin
      our parsing efforts.  We use language_c here because we may need
      to do pointer arithmetics.  */
-  struct stap_parse_info p (*arg, atype, 10, language_def (language_c),
+  struct stap_parse_info p (*arg, atype, language_def (language_c),
 			    gdbarch);
 
   stap_parse_argument_1 (&p, 0, STAP_OPERAND_PREC_NONE);
diff --git a/gdb/stap-probe.h b/gdb/stap-probe.h
index 2a3a6d4cc22..6c56904aeb3 100644
--- a/gdb/stap-probe.h
+++ b/gdb/stap-probe.h
@@ -29,10 +29,10 @@ 
 struct stap_parse_info
 {
   stap_parse_info (const char *arg_, struct type *arg_type_,
-		   size_t initial_size, const struct language_defn *lang,
+		   const struct language_defn *lang,
 		   struct gdbarch *gdbarch)
     : arg (arg_),
-      pstate (initial_size, lang, gdbarch),
+      pstate (lang, gdbarch),
       saved_arg (arg_),
       arg_type (arg_type_),
       gdbarch (gdbarch),