summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2016-11-09 12:49:43 +0000
committerPedro Alves <palves@redhat.com>2016-11-09 14:57:55 +0000
commit6c73cd95f96d37dbf6092a87c8ba0f35277223a5 (patch)
tree1df7a0ca6bc434f553e705850b9bbd1d08fc0532
parent7a63494a0df60cf71b9cf03c4eb8f24719d03e66 (diff)
downloadbinutils-gdb-6c73cd95f96d37dbf6092a87c8ba0f35277223a5.tar.gz
agent_expr_up: gdb::unique_ptr -> std::unique_ptr
Now that we require C++11, use std::unique_ptr directly. This allows simplifying collection_list a bit by placing unique pointers in the vector directly, making the vector own its elements. gdb/ChangeLog: 2016-11-09 Pedro Alves <palves@redhat.com> * ax-gdb.c (agent_eval_command_one): Use std::move instead of gdb::move. * ax.h (agent_expr_up): Use std::unique_ptr instead of gdb::unique_ptr. * breakpoint.c (parse_cond_to_aexpr): Use std::move instead of gdb::move. * tracepoint.c (collection_list::collect_symbol): Likewise. (collection_list::~collection_list): Delete. (encode_actions_1): Use std::move instead of gdb::move. (collection_list::add_aexpr): Use std::move instead of unique_ptr::release. * tracepoint.h (collection_list) <~collection_list>: Delete declaration. <m_aexprs>: Now a vector of agent_ptr_up.
-rw-r--r--gdb/ChangeLog17
-rw-r--r--gdb/ax-gdb.c6
-rw-r--r--gdb/ax.h2
-rw-r--r--gdb/breakpoint.c4
-rw-r--r--gdb/tracepoint.c16
-rw-r--r--gdb/tracepoint.h4
6 files changed, 29 insertions, 20 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4d16c38aa8f..de495966c75 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,22 @@
2016-11-09 Pedro Alves <palves@redhat.com>
+ * ax-gdb.c (agent_eval_command_one): Use std::move instead of
+ gdb::move.
+ * ax.h (agent_expr_up): Use std::unique_ptr instead of
+ gdb::unique_ptr.
+ * breakpoint.c (parse_cond_to_aexpr): Use std::move instead of
+ gdb::move.
+ * tracepoint.c (collection_list::collect_symbol): Likewise.
+ (collection_list::~collection_list): Delete.
+ (encode_actions_1): Use std::move instead of gdb::move.
+ (collection_list::add_aexpr): Use std::move instead of
+ unique_ptr::release.
+ * tracepoint.h (collection_list) <~collection_list>: Delete
+ declaration.
+ <m_aexprs>: Now a vector of agent_ptr_up.
+
+2016-11-09 Pedro Alves <palves@redhat.com>
+
* main.c (struct cmdarg): Add constructor.
(captured_main_1): Use vector::emplace_back.
* tracepoint.c (collection_list::add_memrange): Likewise.
diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c
index 1816ba634cd..cd97585d586 100644
--- a/gdb/ax-gdb.c
+++ b/gdb/ax-gdb.c
@@ -2555,7 +2555,7 @@ agent_eval_command_one (const char *exp, int eval, CORE_ADDR pc)
arg = exp;
if (!eval && strcmp (arg, "$_ret") == 0)
{
- agent = gdb::move (gen_trace_for_return_address (pc, get_current_arch (),
+ agent = std::move (gen_trace_for_return_address (pc, get_current_arch (),
trace_string));
}
else
@@ -2565,10 +2565,10 @@ agent_eval_command_one (const char *exp, int eval, CORE_ADDR pc)
if (eval)
{
gdb_assert (trace_string == 0);
- agent = gdb::move (gen_eval_for_expr (pc, expr.get ()));
+ agent = std::move (gen_eval_for_expr (pc, expr.get ()));
}
else
- agent = gdb::move (gen_trace_for_expr (pc, expr.get (), trace_string));
+ agent = std::move (gen_trace_for_expr (pc, expr.get (), trace_string));
}
ax_reqs (agent.get ());
diff --git a/gdb/ax.h b/gdb/ax.h
index 85d294352a8..dbbfa0bc383 100644
--- a/gdb/ax.h
+++ b/gdb/ax.h
@@ -168,7 +168,7 @@ struct agent_expr
};
/* An agent_expr owning pointer. */
-typedef gdb::unique_ptr<agent_expr> agent_expr_up;
+typedef std::unique_ptr<agent_expr> agent_expr_up;
/* The actual values of the various bytecode operations. */
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index a3a81f71c67..245e0784969 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -2268,7 +2268,7 @@ parse_cond_to_aexpr (CORE_ADDR scope, struct expression *cond)
that may show up. */
TRY
{
- aexpr = gdb::move (gen_eval_for_expr (scope, cond));
+ aexpr = std::move (gen_eval_for_expr (scope, cond));
}
CATCH (ex, RETURN_MASK_ERROR)
@@ -2452,7 +2452,7 @@ parse_cmd_to_aexpr (CORE_ADDR scope, char *cmd)
that may show up. */
TRY
{
- aexpr = gdb::move (gen_printf (scope, gdbarch, 0, 0,
+ aexpr = std::move (gen_printf (scope, gdbarch, 0, 0,
format_start, format_end - format_start,
fpieces, nargs, argvec));
}
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 2a40b167558..0cb12c78b71 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -1076,7 +1076,7 @@ collection_list::collect_symbol (struct symbol *sym,
}
}
- add_aexpr (gdb::move (aexpr));
+ add_aexpr (std::move (aexpr));
}
}
@@ -1180,12 +1180,6 @@ collection_list::collection_list ()
m_aexprs.reserve (128);
}
-collection_list::~collection_list ()
-{
- for (int ndx = 0; ndx < m_aexprs.size (); ndx++)
- delete m_aexprs[ndx];
-}
-
/* Reduce a collection list to string form (for gdb protocol). */
char **
@@ -1419,7 +1413,7 @@ encode_actions_1 (struct command_line *action,
}
}
- collect->add_aexpr (gdb::move (aexpr));
+ collect->add_aexpr (std::move (aexpr));
action_exp = strchr (action_exp, ','); /* more? */
}
else if (0 == strncasecmp ("$_sdata", action_exp, 7))
@@ -1508,7 +1502,7 @@ encode_actions_1 (struct command_line *action,
}
}
- collect->add_aexpr (gdb::move (aexpr));
+ collect->add_aexpr (std::move (aexpr));
collect->append_exp (exp.get ());
break;
} /* switch */
@@ -1538,7 +1532,7 @@ encode_actions_1 (struct command_line *action,
/* Even though we're not officially collecting, add
to the collect list anyway. */
- collect->add_aexpr (gdb::move (aexpr));
+ collect->add_aexpr (std::move (aexpr));
} /* do */
}
while (action_exp && *action_exp++ == ',');
@@ -1602,7 +1596,7 @@ encode_actions_rsp (struct bp_location *tloc, char ***tdp_actions,
void
collection_list::add_aexpr (agent_expr_up aexpr)
{
- m_aexprs.push_back (aexpr.release ());
+ m_aexprs.push_back (std::move (aexpr));
}
static void
diff --git a/gdb/tracepoint.h b/gdb/tracepoint.h
index 7dfd8cc9051..855bb1da030 100644
--- a/gdb/tracepoint.h
+++ b/gdb/tracepoint.h
@@ -243,7 +243,6 @@ class collection_list
{
public:
collection_list ();
- ~collection_list ();
void add_wholly_collected (const char *print_name);
@@ -282,8 +281,7 @@ private:
std::vector<memrange> m_memranges;
- /* Vector owns pointers. */
- std::vector<agent_expr *> m_aexprs;
+ std::vector<agent_expr_up> m_aexprs;
/* True is the user requested a collection of "$_sdata", "static
tracepoint data". */