aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2018-03-30 17:18:55 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2018-03-30 17:18:55 -0400
commit17d08cd4137063dbc43d9989b9a5cb315171174f (patch)
treeecbbf6b61c0efd740b3d1242266d311dc5db46d2 /gdb
parenta18ba4e4c9d64eeb2ea65e5315fbd8b4261a1756 (diff)
downloadgdb-17d08cd4137063dbc43d9989b9a5cb315171174f.zip
gdb-17d08cd4137063dbc43d9989b9a5cb315171174f.tar.gz
gdb-17d08cd4137063dbc43d9989b9a5cb315171174f.tar.bz2
Use std::vector and std::string instead of VEC(char_ptr) in gdbserver tdesc
This is a straightforward replacement, no change in behavior are intended/expected. gdb/gdbserver/ChangeLog: * tdesc.h (struct target_desc) <features>: Change type to std::vector<std::string>. * tdesc.c (target_desc::~target_desc): Adjust to std::vector changes. (tdesc_get_features_xml): Likewise. (tdesc_create_feature): Likewise.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/gdbserver/ChangeLog9
-rw-r--r--gdb/gdbserver/tdesc.c13
-rw-r--r--gdb/gdbserver/tdesc.h2
3 files changed, 13 insertions, 11 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 8e6afef..8e0f13a 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,12 @@
+2018-03-30 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * tdesc.h (struct target_desc) <features>: Change type to
+ std::vector<std::string>.
+ * tdesc.c (target_desc::~target_desc): Adjust to std::vector
+ changes.
+ (tdesc_get_features_xml): Likewise.
+ (tdesc_create_feature): Likewise.
+
2018-03-26 Alan Hayward <alan.hayward@arm.com>
* regcache.c (find_register_by_number): Return a ref.
diff --git a/gdb/gdbserver/tdesc.c b/gdb/gdbserver/tdesc.c
index cec7a66..9f00ecf 100644
--- a/gdb/gdbserver/tdesc.c
+++ b/gdb/gdbserver/tdesc.c
@@ -27,12 +27,6 @@ target_desc::~target_desc ()
xfree ((char *) arch);
xfree ((char *) osabi);
-
- char *f;
-
- for (i = 0; VEC_iterate (char_ptr, features, i, f); i++)
- xfree (f);
- VEC_free (char_ptr, features);
}
bool target_desc::operator== (const target_desc &other) const
@@ -127,7 +121,7 @@ tdesc_get_features_xml (target_desc *tdesc)
{
/* Either .xmltarget or .features is not NULL. */
gdb_assert (tdesc->xmltarget != NULL
- || (tdesc->features != NULL
+ || (!tdesc->features.empty ()
&& tdesc->arch != NULL));
if (tdesc->xmltarget == NULL)
@@ -147,9 +141,8 @@ tdesc_get_features_xml (target_desc *tdesc)
buffer += "</osabi>";
}
- char *xml;
- for (int i = 0; VEC_iterate (char_ptr, tdesc->features, i, xml); i++)
+ for (const std::string &xml : tdesc->features)
{
buffer += "<xi:include href=\"";
buffer += xml;
@@ -175,7 +168,7 @@ tdesc_create_feature (struct target_desc *tdesc, const char *name,
const char *xml)
{
#ifndef IN_PROCESS_AGENT
- VEC_safe_push (char_ptr, tdesc->features, xstrdup (xml));
+ tdesc->features.emplace_back (xml);
#endif
return tdesc;
}
diff --git a/gdb/gdbserver/tdesc.h b/gdb/gdbserver/tdesc.h
index a625443..85139d9 100644
--- a/gdb/gdbserver/tdesc.h
+++ b/gdb/gdbserver/tdesc.h
@@ -54,7 +54,7 @@ struct target_desc : tdesc_feature
const char *xmltarget = NULL;
/* XML features in this target description. */
- VEC (char_ptr) *features = NULL;
+ std::vector<std::string> features;
/* The value of <architecture> element in the XML, replying GDB. */
const char *arch = NULL;