aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2023-04-28 08:23:00 -0600
committerTom Tromey <tromey@adacore.com>2023-05-23 13:57:54 -0600
commitb5688cda0ec49822b29cecab9d08460bbf3b1a02 (patch)
tree0823dfe729d46164bf1e45a24c65360cc7f476af
parentb8c03634d6537ee7ad068ab840b6e78483aaca80 (diff)
downloadbinutils-b5688cda0ec49822b29cecab9d08460bbf3b1a02.zip
binutils-b5688cda0ec49822b29cecab9d08460bbf3b1a02.tar.gz
binutils-b5688cda0ec49822b29cecab9d08460bbf3b1a02.tar.bz2
Simplify parser_state constructor
This simplifies the parser_state constructor by having it accept a parser_flags parameter.
-rw-r--r--gdb/parse.c7
-rw-r--r--gdb/parser-defs.h9
-rw-r--r--gdb/rust-parse.c2
3 files changed, 7 insertions, 11 deletions
diff --git a/gdb/parse.c b/gdb/parse.c
index ed0d0b8..2f014dd 100644
--- a/gdb/parse.c
+++ b/gdb/parse.c
@@ -398,11 +398,8 @@ parse_exp_in_context (const char **stringptr, CORE_ADDR pc,
to the value matching SELECTED_FRAME as set by get_current_arch. */
parser_state ps (lang, get_current_arch (), expression_context_block,
- expression_context_pc,
- (flags & PARSER_COMMA_TERMINATES) != 0,
- *stringptr,
- completer != nullptr, tracker,
- (flags & PARSER_VOID_CONTEXT) != 0);
+ expression_context_pc, flags, *stringptr,
+ completer != nullptr, tracker);
scoped_restore_current_language lang_saver;
set_language (lang->la_language);
diff --git a/gdb/parser-defs.h b/gdb/parser-defs.h
index 5c6bc22..2a246ff 100644
--- a/gdb/parser-defs.h
+++ b/gdb/parser-defs.h
@@ -146,19 +146,18 @@ struct parser_state : public expr_builder
struct gdbarch *gdbarch,
const struct block *context_block,
CORE_ADDR context_pc,
- int comma,
+ parser_flags flags,
const char *input,
bool completion,
- innermost_block_tracker *tracker,
- bool void_p)
+ innermost_block_tracker *tracker)
: expr_builder (lang, gdbarch),
expression_context_block (context_block),
expression_context_pc (context_pc),
- comma_terminates (comma),
+ comma_terminates ((flags & PARSER_COMMA_TERMINATES) != 0),
lexptr (input),
parse_completion (completion),
block_tracker (tracker),
- void_context_p (void_p)
+ void_context_p ((flags & PARSER_VOID_CONTEXT) != 0)
{
}
diff --git a/gdb/rust-parse.c b/gdb/rust-parse.c
index 4271696..4b3348d 100644
--- a/gdb/rust-parse.c
+++ b/gdb/rust-parse.c
@@ -2310,7 +2310,7 @@ rust_lex_tests (void)
{
/* Set up dummy "parser", so that rust_type works. */
struct parser_state ps (language_def (language_rust), target_gdbarch (),
- nullptr, 0, 0, nullptr, 0, nullptr, false);
+ nullptr, 0, 0, nullptr, 0, nullptr);
rust_parser parser (&ps);
rust_lex_test_one (&parser, "", 0);