Remove .gcno file when compilation does not success (PR driver/56469).

2017-04-28  Martin Liska  <mliska@suse.cz>

	PR driver/56469
	* coverage.c (coverage_remove_note_file): New function.
	* coverage.h: Declare the function.
	* toplev.c (finalize): Clean if an error has been seen.

From-SVN: r247371
This commit is contained in:
Martin Liska 2017-04-28 14:50:08 +02:00 committed by Martin Liska
parent 34769baf7d
commit 4ebcdc2373
4 changed files with 23 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2017-04-28 Martin Liska <mliska@suse.cz>
PR driver/56469
* coverage.c (coverage_remove_note_file): New function.
* coverage.h: Declare the function.
* toplev.c (finalize): Clean if an error has been seen.
2017-04-28 Martin Liska <mliska@suse.cz>
PR gcov-profile/80031

View File

@ -731,6 +731,18 @@ coverage_end_function (unsigned lineno_checksum, unsigned cfg_checksum)
}
}
/* Remove coverage file if opened. */
void
coverage_remove_note_file (void)
{
if (bbg_file_name)
{
gcov_close ();
unlink (bbg_file_name);
}
}
/* Build a coverage variable of TYPE for function FN_DECL. If COUNTER
>= 0 it is a counter array, otherwise it is the function structure. */

View File

@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see
extern void coverage_init (const char *);
extern void coverage_finish (void);
extern void coverage_remove_note_file (void);
/* Start outputting coverage information for the current
function. */

View File

@ -1915,6 +1915,9 @@ finalize (bool no_backend)
stack_usage_file = NULL;
}
if (seen_error ())
coverage_remove_note_file ();
if (!no_backend)
{
statistics_fini ();