diff options
author | Tom Tromey <tom@tromey.com> | 2019-03-24 21:38:40 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-04-04 19:55:11 -0600 |
commit | 43476f0b1b628352ad8e3064e50128cb3461d3d0 (patch) | |
tree | 5d836e9a33199397d2aeba188216a6478688ca94 /gdb/parse.c | |
parent | 5776fca307b8af3d852525b77e9b917a9aa97370 (diff) | |
download | gdb-43476f0b1b628352ad8e3064e50128cb3461d3d0.zip gdb-43476f0b1b628352ad8e3064e50128cb3461d3d0.tar.gz gdb-43476f0b1b628352ad8e3064e50128cb3461d3d0.tar.bz2 |
Move arglist_len et al to parser_state
This moves arglist_len, start_arglist, and end_arglist to
parser_state.
gdb/ChangeLog
2019-04-04 Tom Tromey <tom@tromey.com>
* parser-defs.h (struct parser_state) <start_arglist,
end_arglist>: New methods.
<arglist_len, m_funcall_chain>: New members.
(arglist_len, start_arglist, end_arglist): Don't declare.
* parse.c (arglist_len, funcall_chain): Remove global.
(start_arglist, end_arglist): Remove functions.
(parse_exp_in_context): Update.
* p-exp.y: Update rules.
* m2-exp.y: Update rules.
* go-exp.y: Update rules.
* f-exp.y: Update rules.
* d-exp.y: Update rules.
* c-exp.y: Update rules.
Diffstat (limited to 'gdb/parse.c')
-rw-r--r-- | gdb/parse.c | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/gdb/parse.c b/gdb/parse.c index 5692e23..6ee6157 100644 --- a/gdb/parse.c +++ b/gdb/parse.c @@ -67,7 +67,6 @@ const struct exp_descriptor exp_descriptor_standard = /* Global variables declared in parser-defs.h (and commented there). */ innermost_block_tracker innermost_block; -int arglist_len; static struct type_stack type_stack; /* True if parsing an expression to attempt completion. */ @@ -128,33 +127,6 @@ innermost_block_tracker::update (const struct block *b, m_innermost_block = b; } -/* Data structure for saving values of arglist_len for function calls whose - arguments contain other function calls. */ - -static std::vector<int> *funcall_chain; - -/* Begin counting arguments for a function call, - saving the data about any containing call. */ - -void -start_arglist (void) -{ - funcall_chain->push_back (arglist_len); - arglist_len = 0; -} - -/* Return the number of arguments in a function call just terminated, - and restore the data for the containing function call. */ - -int -end_arglist (void) -{ - int val = arglist_len; - arglist_len = funcall_chain->back (); - funcall_chain->pop_back (); - return val; -} - /* See definition in parser-defs.h. */ @@ -1119,10 +1091,6 @@ parse_exp_in_context (const char **stringptr, CORE_ADDR pc, if (*stringptr == 0 || **stringptr == 0) error_no_arg (_("expression to compute")); - std::vector<int> funcalls; - scoped_restore save_funcall_chain = make_scoped_restore (&funcall_chain, - &funcalls); - const struct block *expression_context_block = block; CORE_ADDR expression_context_pc = 0; |