From 2a3c71d68d452bb6b06d199d0eb7bc0cbc2b9b25 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 27 Dec 2018 11:53:20 -0700 Subject: 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 * 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. --- gdb/python/py-value.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'gdb/python/py-value.c') diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c index 9cc56e6..ebd7ef1 100644 --- a/gdb/python/py-value.c +++ b/gdb/python/py-value.c @@ -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); -- cgit v1.1