agent_expr_up: gdb::unique_ptr -> std::unique_ptr
authorPedro Alves <palves@redhat.com>
Wed, 9 Nov 2016 12:49:43 +0000 (12:49 +0000)
committerPedro Alves <palves@redhat.com>
Wed, 9 Nov 2016 14:57:55 +0000 (14:57 +0000)
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.

gdb/ChangeLog
gdb/ax-gdb.c
gdb/ax.h
gdb/breakpoint.c
gdb/tracepoint.c
gdb/tracepoint.h

index 4d16c38..de49596 100644 (file)
@@ -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.
index 1816ba6..cd97585 100644 (file)
@@ -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 ());
index 85d2943..dbbfa0b 100644 (file)
--- 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.  */
 
index a3a81f7..245e078 100644 (file)
@@ -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));
     }
index 2a40b16..0cb12c7 100644 (file)
@@ -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
index 7dfd8cc..855bb1d 100644 (file)
@@ -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".  */