From ed2b3126d1828d55d57880c6b6045a4e58c05cde Mon Sep 17 00:00:00 2001
From: Tom Tromey <tom@tromey.com>
Date: Wed, 1 Nov 2017 18:51:15 -0600
Subject: Remove make_cleanup_free_objfile

This replaces make_cleanup_free_objfile with std::unique_ptr.

gdb/ChangeLog
2017-11-04  Tom Tromey  <tom@tromey.com>

	* objfiles.c (do_free_objfile_cleanup): Remove.
	* compile/compile-object-load.c (compile_object_load): Update.
	* objfiles.h (make_cleanup_free_objfile): Remove.
---
 gdb/compile/compile-object-load.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

(limited to 'gdb/compile/compile-object-load.c')

diff --git a/gdb/compile/compile-object-load.c b/gdb/compile/compile-object-load.c
index 8e55d3c..e69fbc6 100644
--- a/gdb/compile/compile-object-load.c
+++ b/gdb/compile/compile-object-load.c
@@ -606,7 +606,7 @@ struct compile_module *
 compile_object_load (const compile_file_names &file_names,
 		     enum compile_i_scope_types scope, void *scope_data)
 {
-  struct cleanup *cleanups, *cleanups_free_objfile;
+  struct cleanup *cleanups;
   struct setup_sections_data setup_sections_data;
   CORE_ADDR addr, regs_addr, out_value_addr = 0;
   struct symbol *func_sym;
@@ -656,9 +656,10 @@ compile_object_load (const compile_file_names &file_names,
 
   /* SYMFILE_VERBOSE is not passed even if FROM_TTY, user is not interested in
      "Reading symbols from ..." message for automatically generated file.  */
-  objfile = symbol_file_add_from_bfd (abfd.get (), filename.get (),
-				      0, NULL, 0, NULL);
-  cleanups_free_objfile = make_cleanup_free_objfile (objfile);
+  std::unique_ptr<struct objfile> objfile_holder
+    (symbol_file_add_from_bfd (abfd.get (), filename.get (),
+			       0, NULL, 0, NULL));
+  objfile = objfile_holder.get ();
 
   func_sym = lookup_global_symbol_from_objfile (objfile,
 						GCC_FE_WRAPPER_FUNCTION,
@@ -812,10 +813,8 @@ compile_object_load (const compile_file_names &file_names,
 			    paddress (target_gdbarch (), out_value_addr));
     }
 
-  discard_cleanups (cleanups_free_objfile);
-
   retval = XNEW (struct compile_module);
-  retval->objfile = objfile;
+  retval->objfile = objfile_holder.release ();
   retval->source_file = xstrdup (file_names.source_file ());
   retval->func_sym = func_sym;
   retval->regs_addr = regs_addr;
-- 
cgit v1.1