[PATCH 09/11] Remove varobj_clear_saved_item

Tom Tromey tom@tromey.com
Sat Oct 24 21:08:54 GMT 2020


One call to varobj_clear_saved_item is from the varobj destructor.
This is no longer needed, so this patch removes the call; then inlines
the function into the sole remaining caller.

gdb/ChangeLog
2020-10-24  Tom Tromey  <tom@tromey.com>

	* varobj.c (varobj_clear_saved_item): Remove.
	(update_dynamic_varobj_children): Update.
	(varobj::~varobj): Don't call varobj_clear_saved_item.
---
 gdb/ChangeLog |  6 ++++++
 gdb/varobj.c  | 14 +-------------
 2 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/gdb/varobj.c b/gdb/varobj.c
index ad7a93f5bfa..8b02eb338b4 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -673,15 +673,6 @@ varobj_get_iterator (struct varobj *var)
 requested an iterator from a non-dynamic varobj"));
 }
 
-/* Release and clear VAR's saved item, if any.  */
-
-static void
-varobj_clear_saved_item (struct varobj_dynamic *var)
-{
-  if (var->saved_item != NULL)
-    var->saved_item.reset (nullptr);
-}
-
 static bool
 update_dynamic_varobj_children (struct varobj *var,
 				std::vector<varobj *> *changed,
@@ -700,8 +691,7 @@ update_dynamic_varobj_children (struct varobj *var,
   if (update_children || var->dynamic->child_iter == NULL)
     {
       var->dynamic->child_iter = varobj_get_iterator (var);
-
-      varobj_clear_saved_item (var->dynamic);
+      var->dynamic->saved_item.reset (nullptr);
 
       i = 0;
 
@@ -1864,8 +1854,6 @@ varobj::~varobj ()
     }
 #endif
 
-  varobj_clear_saved_item (var->dynamic);
-
   if (is_root_p (var))
     delete var->root;
 
-- 
2.17.2



More information about the Gdb-patches mailing list