Use std::vector in reread_symbols

This changes reread_symbols to use std::vector, removing a cleanup.

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

	* symfile.c (objfilep): Remove typedef.
	(reread_symbols): Use a std::vector.
This commit is contained in:
Tom Tromey 2017-04-07 15:58:25 -06:00
parent 156d9eab86
commit 4c404b8be6
2 changed files with 10 additions and 16 deletions

View File

@ -1,3 +1,8 @@
2017-04-12 Tom Tromey <tom@tromey.com>
* symfile.c (objfilep): Remove typedef.
(reread_symbols): Use a std::vector.
2017-04-12 Tom Tromey <tom@tromey.com>
* mi/mi-main.c (exec_direction_forward): Remove.

View File

@ -2434,10 +2434,6 @@ remove_symbol_file_command (char *args, int from_tty)
do_cleanups (my_cleanups);
}
typedef struct objfile *objfilep;
DEF_VEC_P (objfilep);
/* Re-read symbols if a symbol-file has changed. */
void
@ -2447,10 +2443,7 @@ reread_symbols (void)
long new_modtime;
struct stat new_statbuf;
int res;
VEC (objfilep) *new_objfiles = NULL;
struct cleanup *all_cleanups;
all_cleanups = make_cleanup (VEC_cleanup (objfilep), &new_objfiles);
std::vector<struct objfile *> new_objfiles;
/* With the addition of shared libraries, this should be modified,
the load time should be saved in the partial symbol tables, since
@ -2661,14 +2654,12 @@ reread_symbols (void)
objfile->mtime = new_modtime;
init_entry_point_info (objfile);
VEC_safe_push (objfilep, new_objfiles, objfile);
new_objfiles.push_back (objfile);
}
}
if (new_objfiles)
if (!new_objfiles.empty ())
{
int ix;
/* Notify objfiles that we've modified objfile sections. */
objfiles_changed ();
@ -2677,15 +2668,13 @@ reread_symbols (void)
/* clear_objfile_data for each objfile was called before freeing it and
observer_notify_new_objfile (NULL) has been called by
clear_symtab_users above. Notify the new files now. */
for (ix = 0; VEC_iterate (objfilep, new_objfiles, ix, objfile); ix++)
observer_notify_new_objfile (objfile);
for (auto iter : new_objfiles)
observer_notify_new_objfile (iter);
/* At least one objfile has changed, so we can consider that
the executable we're debugging has changed too. */
observer_notify_executable_changed ();
}
do_cleanups (all_cleanups);
}