Use htab_up in filename_seen_cache
authorTom Tromey <tom@tromey.com>
Thu, 17 Sep 2020 17:47:50 +0000 (11:47 -0600)
committerTom Tromey <tom@tromey.com>
Thu, 17 Sep 2020 17:58:56 +0000 (11:58 -0600)
This changes filename_seen_cache to use htab_up, rather than explicit
calls to htab_delete.

gdb/ChangeLog
2020-09-17  Tom Tromey  <tom@tromey.com>

* filename-seen-cache.c (filename_seen_cache::filename_seen_cache)
(filename_seen_cache::clear): Update.
(~filename_seen_cache): Remove.
(filename_seen_cache::seen): Update.
* filename-seen-cache.h (class filename_seen_cache) <m_tab>: Now
htab_up.
<~filename_seen_cache>: Remove.
<traverse>: Update.

gdb/ChangeLog
gdb/filename-seen-cache.c
gdb/filename-seen-cache.h

index 8f8f7a9174b32b76f3a4d5f89393cf470298a3d4..c61626b67642ff855ad3209c7bdc174d42814db0 100644 (file)
@@ -1,3 +1,14 @@
+2020-09-17  Tom Tromey  <tom@tromey.com>
+
+       * filename-seen-cache.c (filename_seen_cache::filename_seen_cache)
+       (filename_seen_cache::clear): Update.
+       (~filename_seen_cache): Remove.
+       (filename_seen_cache::seen): Update.
+       * filename-seen-cache.h (class filename_seen_cache) <m_tab>: Now
+       htab_up.
+       <~filename_seen_cache>: Remove.
+       <traverse>: Update.
+
 2020-09-17  Tom Tromey  <tom@tromey.com>
 
        * completer.c (completion_tracker::discard_completions)
index f3905c0fb1269d64ae5cdfa9ce10f418a18825ab..b0cda087cc0ffcf10747a4444201bf0568004219 100644 (file)
 /* filename_seen_cache constructor.  */
 
 filename_seen_cache::filename_seen_cache ()
+  : m_tab (htab_create_alloc (INITIAL_FILENAME_SEEN_CACHE_SIZE,
+                             filename_hash, filename_eq,
+                             NULL, xcalloc, xfree))
 {
-  m_tab = htab_create_alloc (INITIAL_FILENAME_SEEN_CACHE_SIZE,
-                            filename_hash, filename_eq,
-                            NULL, xcalloc, xfree);
 }
 
 /* See filename-seen-cache.h.  */
@@ -38,14 +38,7 @@ filename_seen_cache::filename_seen_cache ()
 void
 filename_seen_cache::clear ()
 {
-  htab_empty (m_tab);
-}
-
-/* See filename-seen-cache.h.  */
-
-filename_seen_cache::~filename_seen_cache ()
-{
-  htab_delete (m_tab);
+  htab_empty (m_tab.get ());
 }
 
 /* See filename-seen-cache.h.  */
@@ -56,7 +49,7 @@ filename_seen_cache::seen (const char *file)
   void **slot;
 
   /* Is FILE in tab?  */
-  slot = htab_find_slot (m_tab, file, INSERT);
+  slot = htab_find_slot (m_tab.get (), file, INSERT);
   if (*slot != NULL)
     return true;
 
index ee064c32565aea699574e802b8b50eee737e90aa..3d8cedf80803663996fbc3c7c72016e68cb3caf0 100644 (file)
@@ -29,7 +29,6 @@ class filename_seen_cache
 {
 public:
   filename_seen_cache ();
-  ~filename_seen_cache ();
 
   DISABLE_COPY_AND_ASSIGN (filename_seen_cache);
 
@@ -55,12 +54,12 @@ public:
        return 1;
       };
 
-    htab_traverse_noresize (m_tab, erased_cb, &callback);
+    htab_traverse_noresize (m_tab.get (), erased_cb, &callback);
   }
 
 private:
   /* Table of files seen so far.  */
-  htab_t m_tab;
+  htab_up m_tab;
 };
 
 #endif /* FILENAME_SEEN_CACHE_H */