This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

make gcov more lenient


I've installed this patch to fix a regression in gcov. It used to assume the counts were zero, if there was no counts file. And some users relied upon this.

This patch restores that behaviour.

nathan
--
Nathan Sidwell    ::   http://www.codesourcery.com   ::         CodeSourcery
nathan@codesourcery.com    ::     http://www.planetfall.pwp.blueyonder.co.uk

2006-08-09  Nathan Sidwell  <nathan@codesourcery.com>

	* gcov.c (no_data_file): New flag.
	(read_count_file): Set it if data file not present.  Assume counts
	zero if not found.
	(output_lines): Don't name the data file, if there wasn't one.

Index: gcov.c
===================================================================
--- gcov.c	(revision 115580)
+++ gcov.c	(working copy)
@@ -277,6 +277,10 @@ static unsigned bbg_stamp;
 
 static char *da_file_name;
 
+/* Data file is missing.  */
+
+static int no_data_file;
+
 /* Output branch probabilities.  */
 
 static int flag_branches = 0;
@@ -964,8 +968,10 @@ read_count_file (void)
 
   if (!gcov_open (da_file_name, 1))
     {
-      fnotice (stderr, "%s:cannot open data file\n", da_file_name);
-      return 1;
+      fnotice (stderr, "%s:cannot open data file, assuming not executed\n",
+	       da_file_name);
+      no_data_file = 1;
+      return 0;
     }
   if (!gcov_magic (gcov_read_unsigned (), GCOV_DATA_MAGIC))
     {
@@ -1782,7 +1788,8 @@ output_lines (FILE *gcov_file, const sou
 
   fprintf (gcov_file, "%9s:%5d:Source:%s\n", "-", 0, src->name);
   fprintf (gcov_file, "%9s:%5d:Graph:%s\n", "-", 0, bbg_file_name);
-  fprintf (gcov_file, "%9s:%5d:Data:%s\n", "-", 0, da_file_name);
+  fprintf (gcov_file, "%9s:%5d:Data:%s\n", "-", 0,
+	   no_data_file ? "-" : da_file_name);
   fprintf (gcov_file, "%9s:%5d:Runs:%u\n", "-", 0,
 	   object_summary.ctrs[GCOV_COUNTER_ARCS].runs);
   fprintf (gcov_file, "%9s:%5d:Programs:%u\n", "-", 0, program_count);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]