Do not read gcda files multiple times (PR gcov-profile/87069).
2018-08-27 Martin Liska <mliska@suse.cz> PR gcov-profile/87069 * gcov.c (process_file): Record files already processed and warn about a file being processed multiple times. From-SVN: r263871
This commit is contained in:
parent
266c2b5488
commit
7a583153ec
|
@ -1,3 +1,9 @@
|
|||
2018-08-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR gcov-profile/87069
|
||||
* gcov.c (process_file): Record files already processed
|
||||
and warn about a file being processed multiple times.
|
||||
|
||||
2018-08-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR driver/83193
|
||||
|
|
15
gcc/gcov.c
15
gcc/gcov.c
|
@ -408,6 +408,10 @@ static vector<source_info> sources;
|
|||
/* Mapping of file names to sources */
|
||||
static vector<name_map> names;
|
||||
|
||||
/* Record all processed files in order to warn about
|
||||
a file being read multiple times. */
|
||||
static vector<char *> processed_files;
|
||||
|
||||
/* This holds data summary information. */
|
||||
|
||||
static unsigned object_runs;
|
||||
|
@ -1146,6 +1150,17 @@ static void
|
|||
process_file (const char *file_name)
|
||||
{
|
||||
create_file_names (file_name);
|
||||
|
||||
for (unsigned i = 0; i < processed_files.size (); i++)
|
||||
if (strcmp (da_file_name, processed_files[i]) == 0)
|
||||
{
|
||||
fnotice (stderr, "'%s' file is already processed\n",
|
||||
file_name);
|
||||
return;
|
||||
}
|
||||
|
||||
processed_files.push_back (xstrdup (da_file_name));
|
||||
|
||||
read_graph_file ();
|
||||
read_count_file ();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue