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.
This commit is contained in:
Tom Tromey
2020-12-11 09:33:36 -07:00
parent 7446266408
commit 24fd95b4cd
4 changed files with 19 additions and 12 deletions

View File

@ -754,8 +754,8 @@ int gdb_pymodule_addobject (PyObject *module, const char *name,
struct varobj_iter;
struct varobj;
struct varobj_iter *py_varobj_get_iterator (struct varobj *var,
PyObject *printer);
std::unique_ptr<varobj_iter> py_varobj_get_iterator (struct varobj *var,
PyObject *printer);
/* Deleter for Py_buffer unique_ptr specialization. */