This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Use std::vector in gdb_bfd_data
- From: Tom Tromey <tromey at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 20 Oct 2017 15:01:42 -0000
- Subject: [binutils-gdb] Use std::vector in gdb_bfd_data
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d5833c62d93e8176b70e8509ab36cc38801c3ebd
commit d5833c62d93e8176b70e8509ab36cc38801c3ebd
Author: Tom Tromey <tom@tromey.com>
Date: Sun Oct 15 11:31:46 2017 -0600
Use std::vector in gdb_bfd_data
This changes gdb_bfd_data to use std::vector rather than VEC.
ChangeLog
2017-10-20 Tom Tromey <tom@tromey.com>
* gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
std::vector.
(gdb_bfd_record_inclusion): Update.
(bfdp): Remove typedef.
Diff:
---
gdb/ChangeLog | 7 +++++++
gdb/gdb_bfd.c | 16 ++--------------
2 files changed, 9 insertions(+), 14 deletions(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 97fcde2..e6e1d02 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,12 @@
2017-10-20 Tom Tromey <tom@tromey.com>
+ * gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
+ std::vector.
+ (gdb_bfd_record_inclusion): Update.
+ (bfdp): Remove typedef.
+
+2017-10-20 Tom Tromey <tom@tromey.com>
+
* gdb_bfd.c (gdb_bfd_ref): Use new.
(struct gdb_bfd_data): Add constructor, destructor, and member
initializers.
diff --git a/gdb/gdb_bfd.c b/gdb/gdb_bfd.c
index b60d237..cc02740 100644
--- a/gdb/gdb_bfd.c
+++ b/gdb/gdb_bfd.c
@@ -34,9 +34,6 @@
#include "gdb/fileio.h"
#include "inferior.h"
-typedef bfd *bfdp;
-DEF_VEC_P (bfdp);
-
/* An object of this type is stored in the section's user data when
mapping a section. */
@@ -87,14 +84,6 @@ struct gdb_bfd_data
~gdb_bfd_data ()
{
- int ix;
- bfd *included_bfd;
-
- for (ix = 0;
- VEC_iterate (bfdp, included_bfds, ix, included_bfd);
- ++ix)
- gdb_bfd_unref (included_bfd);
- VEC_free (bfdp, included_bfds);
}
/* The reference count. */
@@ -130,7 +119,7 @@ struct gdb_bfd_data
bfd *archive_bfd = nullptr;
/* Table of all the bfds this bfd has included. */
- VEC (bfdp) *included_bfds = nullptr;
+ std::vector<gdb_bfd_ref_ptr> included_bfds;
/* The registry. */
REGISTRY_FIELDS = {};
@@ -875,9 +864,8 @@ gdb_bfd_record_inclusion (bfd *includer, bfd *includee)
{
struct gdb_bfd_data *gdata;
- gdb_bfd_ref (includee);
gdata = (struct gdb_bfd_data *) bfd_usrdata (includer);
- VEC_safe_push (bfdp, gdata->included_bfds, includee);
+ gdata->included_bfds.push_back (new_bfd_ref (includee));
}
/* See gdb_bfd.h. */