diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a768df0d76..1cef37dea6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2020-07-22 Andrew Burgess + + * python/py-registers.c (gdbpy_register_object_data_init): Remove + redundant local variable. + (gdbpy_get_register_descriptor): Extract descriptor vector as a + reference, not pointer, update code accordingly. + 2020-07-22 Simon Marchi Tankut Baris Aktemur diff --git a/gdb/python/py-registers.c b/gdb/python/py-registers.c index 9396498cc3..f64ca3c401 100644 --- a/gdb/python/py-registers.c +++ b/gdb/python/py-registers.c @@ -92,8 +92,7 @@ extern PyTypeObject reggroup_object_type static void * gdbpy_register_object_data_init (struct gdbarch *gdbarch) { - std::vector> *vec = new (std::vector>); - return (void *) vec; + return new std::vector>; } /* Return a gdb.RegisterGroup object wrapping REGGROUP. The register @@ -158,16 +157,17 @@ static gdbpy_ref<> gdbpy_get_register_descriptor (struct gdbarch *gdbarch, int regnum) { - auto vec = (std::vector> *) gdbarch_data - (gdbarch, gdbpy_register_object_data); + auto &vec + = *(std::vector> *) gdbarch_data (gdbarch, + gdbpy_register_object_data); /* Ensure that we have enough entries in the vector. */ - if (vec->size () <= regnum) - vec->resize ((regnum + 1), nullptr); + if (vec.size () <= regnum) + vec.resize ((regnum + 1), nullptr); /* If we don't already have a descriptor for REGNUM in GDBARCH then create one now. */ - if (vec->at (regnum) == nullptr) + if (vec[regnum] == nullptr) { gdbpy_ref reg (PyObject_New (register_descriptor_object, @@ -176,12 +176,12 @@ gdbpy_get_register_descriptor (struct gdbarch *gdbarch, return NULL; reg->regnum = regnum; reg->gdbarch = gdbarch; - vec->at (regnum) = gdbpy_ref<> ((PyObject *) reg.release ()); + vec[regnum] = gdbpy_ref<> ((PyObject *) reg.release ()); } /* Grab the register descriptor from the vector, the reference count is automatically incremented thanks to gdbpy_ref. */ - return vec->at (regnum); + return vec[regnum]; } /* Convert the register descriptor to a string. */