Use std::vector in objfiles.c
authorTom Tromey <tom@tromey.com>
Thu, 22 Sep 2016 14:33:13 +0000 (08:33 -0600)
committerTom Tromey <tom@tromey.com>
Fri, 23 Sep 2016 17:37:08 +0000 (11:37 -0600)
This patch changes a spot in objfiles.c to use a std::vector, removing
a cleanup.

2016-09-23  Tom Tromey  <tom@tromey.com>

* objfiles.c: Include <vector>.
(objfile_relocate): Use std::vector.

gdb/ChangeLog
gdb/objfiles.c

index ab90503..161da29 100644 (file)
@@ -1,5 +1,10 @@
 2016-09-23  Tom Tromey  <tom@tromey.com>
 
+       * objfiles.c: Include <vector>.
+       (objfile_relocate): Use std::vector.
+
+2016-09-23  Tom Tromey  <tom@tromey.com>
+
        * rust-lang.c: Include <string> and <vector>.
        (rust_evaluate_funcall): Use std::vector, std::string.
        (rust_evaluate_subexp): Use std::string.
index f022d10..71f771d 100644 (file)
@@ -53,6 +53,8 @@
 #include "gdb_bfd.h"
 #include "btrace.h"
 
+#include <vector>
+
 /* Keep a registry of per-objfile data-pointers required by other GDB
    modules.  */
 
@@ -943,7 +945,6 @@ objfile_relocate (struct objfile *objfile,
        debug_objfile = objfile_separate_debug_iterate (objfile, debug_objfile))
     {
       struct section_addr_info *objfile_addrs;
-      struct section_offsets *new_debug_offsets;
       struct cleanup *my_cleanups;
 
       objfile_addrs = build_section_addr_info_from_objfile (objfile);
@@ -956,15 +957,13 @@ objfile_relocate (struct objfile *objfile,
 
       gdb_assert (debug_objfile->num_sections
                  == gdb_bfd_count_sections (debug_objfile->obfd));
-      new_debug_offsets = 
-       ((struct section_offsets *)
-        xmalloc (SIZEOF_N_SECTION_OFFSETS (debug_objfile->num_sections)));
-      make_cleanup (xfree, new_debug_offsets);
-      relative_addr_info_to_section_offsets (new_debug_offsets,
+      std::vector<struct section_offsets>
+       new_debug_offsets (SIZEOF_N_SECTION_OFFSETS (debug_objfile->num_sections));
+      relative_addr_info_to_section_offsets (new_debug_offsets.data (),
                                             debug_objfile->num_sections,
                                             objfile_addrs);
 
-      changed |= objfile_relocate1 (debug_objfile, new_debug_offsets);
+      changed |= objfile_relocate1 (debug_objfile, new_debug_offsets.data ());
 
       do_cleanups (my_cleanups);
     }