This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA] C++-ify parser_state
- From: Simon Marchi <simon dot marchi at polymtl dot ca>
- To: Tom Tromey <tom at tromey dot com>
- Cc: Simon Marchi <simon dot marchi at ericsson dot com>, gdb-patches at sourceware dot org
- Date: Sun, 10 Dec 2017 16:23:24 -0500
- Subject: Re: [RFA] C++-ify parser_state
- Authentication-results: sourceware.org; auth=none
- References: <20171126174047.23943-1-tom@tromey.com> <82650820-b9f1-c45f-2243-89b47ec00e59@ericsson.com> <878teov3zz.fsf@tromey.com> <a0f4739f7fb6e8d5447211ffb771ac7e@polymtl.ca> <737f8c6ee396927a68c00c74610c8cac@polymtl.ca> <87indgtsy1.fsf@tromey.com>
On 2017-12-08 23:40, Tom Tromey wrote:
"Simon" == Simon Marchi <simon.marchi@polymtl.ca> writes:
Simon> Oops, I realized I only answered half the question. I added a
second
Simon> patch on top.
No problem. How's this?
LGTM, with some nits.
commit ee14e980825b5eabd6753a52c75b73dda0762bf2
Author: Tom Tromey <tom@tromey.com>
Date: Wed Nov 22 21:45:53 2017 -0700
C++-ify parser_state
This mildly C++-ifies parser_state and stap_parse_info -- just
enough
to remove some cleanups.
This version includes the changes implemented by Simon.
Regression tested by the buildbot.
ChangeLog
2017-11-26 Tom Tromey <tom@tromey.com>
Simon Marchi <simon.marchi@ericsson.com>
* stap-probe.h (struct stap_parse_info): Add constructor,
destructor.
* stap-probe.c (stap_parse_argument): Update.
* rust-exp.y (rust_lex_tests): Update.
* parser-defs.h (struct parser_state): Add constructor,
destructor, release method.
(null_post_parser): Change type.
<expout>: Change type to expression_up.
This last line should be before "null_post_parser" I think.
(initialize_expout, reallocate_expout): Remove.
* parse.c (parser_state::parser_state): Rename from
initialize_expout.
(parser_state::release): Rename from reallocate_expout.
write_exp_elt, increase_expout_size should be mentioned.
(parse_exp_in_context_1): Update.
(null_post_parser): Change type of "exp".
* dtrace-probe.c (dtrace_probe::build_arg_exprs): Update.
* ada-lang.c (resolve, resolve_subexp)
(replace_operator_with_call): Change type of "expp".
* language.h (struct language_defn) <la_post_parser>:
Change type
of "expp".
...
--- a/gdb/stap-probe.h
+++ b/gdb/stap-probe.h
@@ -28,6 +28,22 @@
struct stap_parse_info
{
+ stap_parse_info (const char *arg_, struct type *arg_type_,
+ size_t initial_size, const struct language_defn *lang,
+ struct gdbarch *gdbarch)
+ : arg (arg_),
+ pstate (initial_size, lang, gdbarch),
+ saved_arg (arg_),
+ arg_type (arg_type_),
+ gdbarch (gdbarch),
+ inside_paren_p (0)
+ {
+ }
+
+ ~stap_parse_info () = default;
This can be removed.
Thanks,
Simon