aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-01-24 06:38:59 -0700
committerTom Tromey <tom@tromey.com>2019-03-06 16:04:31 -0700
commit724127627fef458ed330d027cf0b3d17580af615 (patch)
tree212f3c8b726240c767af4ea95968a6546dbfb86d
parent2b6ff1c0474fca286b95be7ae9dcc5a22ff2a0b9 (diff)
downloadgdb-724127627fef458ed330d027cf0b3d17580af615.zip
gdb-724127627fef458ed330d027cf0b3d17580af615.tar.gz
gdb-724127627fef458ed330d027cf0b3d17580af615.tar.bz2
Remove last cleanup solib-aix.c
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.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/solib-aix.c10
2 files changed, 10 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0a3698e..0dc54e7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
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):
Use make_scope_exit.
diff --git a/gdb/solib-aix.c b/gdb/solib-aix.c
index 85c05a4..ab4f362 100644
--- a/gdb/solib-aix.c
+++ b/gdb/solib-aix.c
@@ -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;
}