mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-27 21:46:54 +08:00
Remove more uses of explicit reference counting in Python
This changes some more place in the Python code to use gdbpy_ref rather than explicit reference counting. While doing this I found a latent bug in typy_fields_items -- it was not checking for errors in one spot. I also changed valpy_dealloc to use Py_XDECREF rather than an explicit "if". gdb/ChangeLog 2019-01-03 Tom Tromey <tom@tromey.com> * python/py-value.c (valpy_dealloc): Use Py_XDECREF. * python/py-type.c (typy_fields_items): Use gdbpy_ref. * python/py-progspace.c (pspy_set_printers): Use gdbpy_ref. (pspy_set_frame_filters, pspy_set_frame_unwinders) (pspy_set_type_printers): Likewise. * python/py-function.c (fnpy_init): Use gdbpy_ref. * python/py-cmd.c (cmdpy_init): Use gdbpy_ref. * python/py-objfile.c (objfpy_set_printers): Use gdbpy_ref. (objfpy_set_frame_filters, objfpy_set_frame_unwinders) (objfpy_set_type_printers): Likewise.
This commit is contained in:
@ -90,17 +90,8 @@ valpy_dealloc (PyObject *obj)
|
||||
|
||||
value_decref (self->value);
|
||||
|
||||
if (self->address)
|
||||
/* Use braces to appease gcc warning. *sigh* */
|
||||
{
|
||||
Py_DECREF (self->address);
|
||||
}
|
||||
|
||||
if (self->type)
|
||||
{
|
||||
Py_DECREF (self->type);
|
||||
}
|
||||
|
||||
Py_XDECREF (self->address);
|
||||
Py_XDECREF (self->type);
|
||||
Py_XDECREF (self->dynamic_type);
|
||||
|
||||
Py_TYPE (self)->tp_free (self);
|
||||
|
Reference in New Issue
Block a user