[PATCH v2 4/8] Simplify agent_expr constructor

Tom Tromey
2023-06-20T17:37:05Z

This simplifies the agent_expr constructor a bit, and removes the
destructor entirely.
---
gdb/ax-general.c | 13 -------------
gdb/ax.h | 10 ++++++----
2 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/gdb/ax-general.c b/gdb/ax-general.c
index e2a3c31e7f4..b28c8e70e0c 100644
--- a/gdb/ax-general.c
+++ b/gdb/ax-general.c
@@ -36,19 +36,6 @@ static void generic_ext (struct agent_expr *x, enum agent_op op, int n);
\f
/* Functions for building expressions. */

-agent_expr::agent_expr (struct gdbarch *gdbarch, CORE_ADDR scope)
-{
- this->gdbarch = gdbarch;
- this->scope = scope;
-
- this->tracing = 0;
- this->trace_string = 0;
-}
-
-agent_expr::~agent_expr ()
-{
-}
-
/* Append the low N bytes of VAL as an N-byte integer to the
expression X, in big-endian order. */
static void
diff --git a/gdb/ax.h b/gdb/ax.h
index b0eb20daf75..67ad3145349 100644
--- a/gdb/ax.h
+++ b/gdb/ax.h
@@ -81,9 +81,11 @@ enum agent_flaws
struct agent_expr
{
/* Construct an empty agent expression. */
- explicit agent_expr (struct gdbarch *gdbarch, CORE_ADDR scope);
-
- ~agent_expr ();
+ agent_expr (struct gdbarch *gdbarch, CORE_ADDR scope)
+ : gdbarch (gdbarch),
+ scope (scope),
+ tracing (0)
+ { }

/* The bytes of the expression. */
gdb::byte_vector buf;
@@ -139,7 +141,7 @@ struct agent_expr
tracenz bytecode to record nonzero bytes, up to a length that
is the value of trace_string. */

- int trace_string;
+ int trace_string = 0;
};

/* An agent_expr owning pointer. */

--
2.39.2