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:
Martin Liska 2018-08-27 10:01:54 +02:00 committed by Martin Liska
parent 266c2b5488
commit 7a583153ec
2 changed files with 21 additions and 0 deletions

View File

@ -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

View File

@ -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 ();
}