Use std::vector on tdesc->reg_defs (gdbserver/tdesc.h)
This is a followup patch to the build breakage fix on AArch64. While doing the fix, I found it better to convert tdesc->reg_defs (on gdbserver/tdesc.h) from using VEC to using std::vector. This makes the code easier to read and maintain, and also is one more step towards the C++fication. Regtested on BuildBot. 2017-09-16 Sergio Durigan Junior <sergiodj@redhat.com> * regcache.c (get_thread_regcache): Update code to use "std::vector" instead of "VEC" for "target_desc.reg_defs". (regcache_cpy): Likewise. (registers_to_string): Likewise. (registers_from_string): Likewise. (find_regno): Likewise. (supply_regblock): Likewise. (regcache_raw_read_unsigned): Likewise. * tdesc.c (init_target_desc): Likewise. (tdesc_create_reg): Likewise. * tdesc.h: Remove declaration of "tdesc_reg_p". Include <vector>. (struct target_desc) <reg_defs>: Convert to "std::vector". (target_desc): Do not initialize "reg_defs". (~target_desc): Update code to use "std::vector" instead of "VEC" for "target_desc.reg_defs". (operator==): Likewise.
This commit is contained in:
parent
ebee3285b3
commit
c4dfafabc5
4 changed files with 52 additions and 45 deletions
|
@ -22,11 +22,9 @@
|
|||
void
|
||||
init_target_desc (struct target_desc *tdesc)
|
||||
{
|
||||
int offset, i;
|
||||
struct reg *reg;
|
||||
int offset = 0;
|
||||
|
||||
offset = 0;
|
||||
for (i = 0; VEC_iterate (tdesc_reg_p, tdesc->reg_defs, i, reg); i++)
|
||||
for (reg *reg : tdesc->reg_defs)
|
||||
{
|
||||
reg->offset = offset;
|
||||
offset += reg->size;
|
||||
|
@ -193,23 +191,23 @@ tdesc_create_reg (struct tdesc_feature *feature, const char *name,
|
|||
{
|
||||
struct target_desc *tdesc = (struct target_desc *) feature;
|
||||
|
||||
while (VEC_length (tdesc_reg_p, tdesc->reg_defs) < regnum)
|
||||
while (tdesc->reg_defs.size () < regnum)
|
||||
{
|
||||
struct reg *reg = XCNEW (struct reg);
|
||||
|
||||
reg->name = "";
|
||||
reg->size = 0;
|
||||
VEC_safe_push (tdesc_reg_p, tdesc->reg_defs, reg);
|
||||
tdesc->reg_defs.push_back (reg);
|
||||
}
|
||||
|
||||
gdb_assert (regnum == 0
|
||||
|| regnum == VEC_length (tdesc_reg_p, tdesc->reg_defs));
|
||||
|| regnum == tdesc->reg_defs.size ());
|
||||
|
||||
struct reg *reg = XCNEW (struct reg);
|
||||
|
||||
reg->name = name;
|
||||
reg->size = bitsize;
|
||||
VEC_safe_push (tdesc_reg_p, tdesc->reg_defs, reg);
|
||||
tdesc->reg_defs.push_back (reg);
|
||||
}
|
||||
|
||||
/* See arch/tdesc.h. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue