Use gdb::def_vector in create_sals_line_offset
authorTom Tromey <tom@tromey.com>
Wed, 6 Sep 2017 22:16:38 +0000 (16:16 -0600)
committerTom Tromey <tom@tromey.com>
Sat, 9 Sep 2017 20:10:50 +0000 (14:10 -0600)
This changes create_sals_line_offset to use gdb::def_vector, removing
some cleanups.

ChangeLog
2017-09-09  Tom Tromey  <tom@tromey.com>

* linespec.c (create_sals_line_offset): Use gdb::def_vector.

gdb/ChangeLog
gdb/linespec.c

index fd1f3609df192bad6474598babcde3bafcc5b39e..c05692473499cf41e65f8fb7161eb74e21c7bfd6 100644 (file)
@@ -1,3 +1,7 @@
+2017-09-09  Tom Tromey  <tom@tromey.com>
+
+       * linespec.c (create_sals_line_offset): Use gdb::def_vector.
+
 2017-09-09  Tom Tromey  <tom@tromey.com>
 
        * p-valprint.c (pascal_object_print_value): Use gdb::byte_vector.
index 480180869fa4fe126f150ae51b868302415844d7..abe66153fd7800f5aacfcbff705fd8cff4aeba26 100644 (file)
@@ -45,6 +45,7 @@
 #include "stack.h"
 #include "location.h"
 #include "common/function-view.h"
+#include "common/def-vector.h"
 
 /* An enumeration of the various things a user might attempt to
    complete for a linespec location.  */
@@ -2182,8 +2183,6 @@ create_sals_line_offset (struct linespec_state *self,
   else
     {
       struct linetable_entry *best_entry = NULL;
-      int *filter;
-      const struct block **blocks;
       int i, j;
 
       std::vector<symtab_and_line> intermediate_results
@@ -2203,10 +2202,8 @@ create_sals_line_offset (struct linespec_state *self,
         above, we see if there are other PCs that are in the same
         block.  If yes, the other PCs are filtered out.  */
 
-      filter = XNEWVEC (int, intermediate_results.size ());
-      struct cleanup *cleanup = make_cleanup (xfree, filter);
-      blocks = XNEWVEC (const struct block *, intermediate_results.size ());
-      make_cleanup (xfree, blocks);
+      gdb::def_vector<int> filter (intermediate_results.size ());
+      gdb::def_vector<const block *> blocks (intermediate_results.size ());
 
       for (i = 0; i < intermediate_results.size (); ++i)
        {
@@ -2245,8 +2242,6 @@ create_sals_line_offset (struct linespec_state *self,
            add_sal_to_sals (self, &values, &intermediate_results[i],
                             sym ? SYMBOL_NATURAL_NAME (sym) : NULL, 0);
          }
-
-      do_cleanups (cleanup);
     }
 
   if (values.empty ())