Make the objfile destructor private
[deliverable/binutils-gdb.git] / gdb / compile / compile-object-run.c
index 8abe494218eb38de72216848427fde2c45ef6efd..72f3060243e8094901e0be206f38bd3ed1740968 100644 (file)
@@ -77,16 +77,16 @@ do_module_cleanup (void *arg, int registers_valid)
 
          addr_value = value_from_pointer (ptr_type, data->out_value_addr);
 
-         /* SCOPE_DATA would be stale unlesse EXECUTEDP != NULL.  */
+         /* SCOPE_DATA would be stale unless EXECUTEDP != NULL.  */
          compile_print_value (value_ind (addr_value), data->scope_data);
        }
     }
 
-  for (objfile *objfile : all_objfiles (current_program_space))
+  for (objfile *objfile : current_program_space->objfiles ())
     if ((objfile->flags & OBJF_USERLOADED) == 0
         && (strcmp (objfile_name (objfile), data->objfile_name_string) == 0))
       {
-       delete objfile;
+       objfile->unlink ();
 
        /* It may be a bit too pervasive in this dummy_frame dtor callback.  */
        clear_symtab_users (0);
@@ -137,7 +137,7 @@ compile_object_run (struct compile_module *module)
   xfree (module);
   module = NULL;
 
-  TRY
+  try
     {
       struct type *func_type = SYMBOL_TYPE (func_sym);
       htab_t copied_types;
@@ -173,7 +173,7 @@ compile_object_run (struct compile_module *module)
       call_function_by_hand_dummy (func_val, NULL, args,
                                   do_module_cleanup, data);
     }
-  CATCH (ex, RETURN_MASK_ERROR)
+  catch (const gdb_exception_error &ex)
     {
       /* In the case of DTOR_FOUND or in the case of EXECUTED nothing
         needs to be done.  */
@@ -183,9 +183,8 @@ compile_object_run (struct compile_module *module)
       gdb_assert (!(dtor_found && executed));
       if (!dtor_found && !executed)
        do_module_cleanup (data, 0);
-      throw_exception (ex);
+      throw;
     }
-  END_CATCH
 
   dtor_found = find_dummy_frame_dtor (do_module_cleanup, data);
   gdb_assert (!dtor_found && executed);
This page took 0.02456 seconds and 4 git commands to generate.