This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] C++-ify parser_state


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]