Remove last cleanup solib-aix.c
authorTom Tromey <tom@tromey.com>
Thu, 24 Jan 2019 13:38:59 +0000 (06:38 -0700)
committerTom Tromey <tom@tromey.com>
Wed, 6 Mar 2019 23:04:31 +0000 (16:04 -0700)
This removes the last cleanup solib-aix.c, replacing it with a use of
make_scope_exit.

2019-03-06  Tom Tromey  <tom@tromey.com>

* solib-aix.c: Use make_scope_exit.

gdb/ChangeLog
gdb/solib-aix.c

index 0a3698e888ab8c8d74c10ef7726d150243a1bf1c..0dc54e7eb383a22f0dd0ec0a61c5fe22c0b968c5 100644 (file)
@@ -1,3 +1,7 @@
+2019-03-06  Tom Tromey  <tom@tromey.com>
+
+       * solib-aix.c: Use make_scope_exit.
+
 2019-03-06  Tom Tromey  <tom@tromey.com>
 
        * solib-svr4.c (svr4_parse_libraries, svr4_current_sos_direct):
index 85c05a42ebf0abeaf1a7c5dcbc0b4ffe4e4e29e1..ab4f36262903ed2d2c7fa3de2c81d039a06ae3dd 100644 (file)
@@ -26,6 +26,7 @@
 #include "xcoffread.h"
 #include "observable.h"
 #include "gdbcmd.h"
+#include "common/scope-exit.h"
 
 /* Variable controlling the output of the debugging traces for
    this module.  */
@@ -242,18 +243,19 @@ static VEC (lm_info_aix_p) *
 solib_aix_parse_libraries (const char *library)
 {
   VEC (lm_info_aix_p) *result = NULL;
-  struct cleanup *back_to = make_cleanup (solib_aix_free_library_list,
-                                          &result);
+  auto cleanup = make_scope_exit ([&] ()
+    {
+      solib_aix_free_library_list (&result);
+    });
 
   if (gdb_xml_parse_quick (_("aix library list"), "library-list-aix.dtd",
                            library_list_elements, library, &result) == 0)
     {
       /* Parsed successfully, keep the result.  */
-      discard_cleanups (back_to);
+      cleanup.release ();
       return result;
     }
 
-  do_cleanups (back_to);
   return NULL;
 }