aboutsummaryrefslogtreecommitdiff
path: root/gdb/python/py-varobj.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2020-12-11 09:33:36 -0700
committerTom Tromey <tom@tromey.com>2020-12-11 09:33:40 -0700
commit24fd95b4cd40f0108299c02f31f2d2a129f83769 (patch)
tree6ec333c8b503bf0d1977889bcebba980dd1b24c9 /gdb/python/py-varobj.c
parent7446266408f6c8cdf890c23c391c0c803c7077ca (diff)
downloadbinutils-24fd95b4cd40f0108299c02f31f2d2a129f83769.zip
binutils-24fd95b4cd40f0108299c02f31f2d2a129f83769.tar.gz
binutils-24fd95b4cd40f0108299c02f31f2d2a129f83769.tar.bz2
Change varobj_dynamic::child_iter to unique_ptr
This changes varobj_dynamic::child_iter to be a unique_ptr, removing some manual management. gdb/ChangeLog 2020-12-11 Tom Tromey <tom@tromey.com> * varobj.c (struct varobj_dynamic) <child_iter>: Now unique_ptr. (varobj_get_iterator): Return unique_ptr. (update_dynamic_varobj_children, install_visualizer) (varobj::~varobj): Update. * python/python-internal.h (py_varobj_get_iterator): Return unique_ptr. * python/py-varobj.c (py_varobj_get_iterator): Return unique_ptr.
Diffstat (limited to 'gdb/python/py-varobj.c')
-rw-r--r--gdb/python/py-varobj.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/python/py-varobj.c b/gdb/python/py-varobj.c
index c3fb2e9..dfc9e2b 100644
--- a/gdb/python/py-varobj.c
+++ b/gdb/python/py-varobj.c
@@ -133,7 +133,7 @@ py_varobj_iter::py_varobj_iter (struct varobj *var, gdbpy_ref<> &&pyiter)
/* Return a new pretty-printed varobj iterator suitable to iterate
over VAR's children. */
-struct varobj_iter *
+std::unique_ptr<varobj_iter>
py_varobj_get_iterator (struct varobj *var, PyObject *printer)
{
gdbpy_enter_varobj enter_py (var);
@@ -156,5 +156,6 @@ py_varobj_get_iterator (struct varobj *var, PyObject *printer)
error (_("Could not get children iterator"));
}
- return new py_varobj_iter (var, std::move (iter));
+ return std::unique_ptr<varobj_iter> (new py_varobj_iter (var,
+ std::move (iter)));
}