]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gcov.c (flag_display_progress): New static variable.
authorNicolas Setton <setton@adacore.com>
Thu, 5 Aug 2010 15:21:13 +0000 (15:21 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Thu, 5 Aug 2010 15:21:13 +0000 (15:21 +0000)
* gcov.c (flag_display_progress): New static variable.
(main): Display progress info on standard output if requested.
(options): Add -d/--display-progress.
(print_usage): Print them.
(process_args): Handle them.
* doc/gcov.texi: Document them.

From-SVN: r162916

gcc/ChangeLog
gcc/doc/gcov.texi
gcc/gcov.c

index 1b5c8ad4b24a54f287815ad57320d9844be5d92f..4442404c5c47ca73a026a4040d80e56340711c24 100644 (file)
@@ -1,3 +1,12 @@
+2010-08-05  Nicolas Setton  <setton@adacore.com>
+
+       * gcov.c (flag_display_progress): New static variable.
+       (main): Display progress info on standard output if requested.
+       (options): Add -d/--display-progress.
+       (print_usage): Print them.
+       (process_args): Handle them.
+       * doc/gcov.texi: Document them.
+
 2010-08-05  Martin Jambor  <mjambor@suse.cz>
 
        * ipa-cp.c (ipcp_discover_new_direct_edges): New function.
index 74ada12697702f24e12ab4bac38da280f1e53ab6..3f48f3b3ec654ed2b6b0eb0cd3fcc52d38c0fbab 100644 (file)
@@ -130,6 +130,7 @@ gcov [@option{-v}|@option{--version}] [@option{-h}|@option{--help}]
      [@option{-f}|@option{--function-summaries}]
      [@option{-o}|@option{--object-directory} @var{directory|file}] @var{sourcefiles}
      [@option{-u}|@option{--unconditional-branches}]
+     [@option{-d}|@option{--display-progress}]
 @c man end
 @c man begin SEEALSO
 gpl(7), gfdl(7), fsf-funding(7), gcc(1) and the Info entry for @file{gcc}.
@@ -211,6 +212,10 @@ option is not supplied, it defaults to the current directory.
 When branch probabilities are given, include those of unconditional branches.
 Unconditional branches are normally not interesting.
 
+@item -d
+@itemx --display-progress
+Display the progress on the standard output.
+
 @end table
 
 @command{gcov} should be run with the current directory the same as that
index 1c1403d927ddd4cc14dee5afdef22da8ef58e3dc..20d5fdf61e699e8ad43e160d616fa5d7e5866afd 100644 (file)
@@ -297,6 +297,11 @@ static int flag_unconditional = 0;
 
 static int flag_gcov_file = 1;
 
+/* Output progress indication if this is true.  This is off by default
+   and can be turned on by the -d option.  */
+
+static int flag_display_progress = 0;
+
 /* For included files, make the gcov output file name include the name
    of the input source file.  For example, if x.h is included in a.c,
    then the output file name is a.c##x.h.gcov instead of x.h.gcov.  */
@@ -355,6 +360,7 @@ int
 main (int argc, char **argv)
 {
   int argno;
+  int first_arg;
 
   /* Unlock the stdio streams.  */
   unlock_std_streams ();
@@ -371,8 +377,15 @@ main (int argc, char **argv)
   if (argc - argno > 1)
     multiple_files = 1;
 
+  first_arg = argno;
+  
   for (; argno != argc; argno++)
-    process_file (argv[argno]);
+    {
+      if (flag_display_progress)
+        printf("Processing file %d out of %d\n",  
+               argno - first_arg + 1, argc - first_arg);
+      process_file (argv[argno]);
+    }
 
   generate_results (multiple_files ? NULL : argv[argc - 1]);
 
@@ -415,6 +428,7 @@ print_usage (int error_p)
   fnotice (file, "  -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n");
   fnotice (file, "  -p, --preserve-paths            Preserve all pathname components\n");
   fnotice (file, "  -u, --unconditional-branches    Show unconditional branch counts too\n");
+  fnotice (file, "  -d, --display-progress          Display progress information\n");
   fnotice (file, "\nFor bug reporting instructions, please see:\n%s.\n",
           bug_report_url);
   exit (status);
@@ -449,6 +463,7 @@ static const struct option options[] =
   { "object-directory",     required_argument, NULL, 'o' },
   { "object-file",          required_argument, NULL, 'o' },
   { "unconditional-branches", no_argument,     NULL, 'u' },
+  { "display-progress",     no_argument,       NULL, 'd' },
   { 0, 0, 0, 0 }
 };
 
@@ -459,7 +474,7 @@ process_args (int argc, char **argv)
 {
   int opt;
 
-  while ((opt = getopt_long (argc, argv, "abcfhlno:puv", options, NULL)) != -1)
+  while ((opt = getopt_long (argc, argv, "abcdfhlno:puv", options, NULL)) != -1)
     {
       switch (opt)
        {
@@ -493,6 +508,9 @@ process_args (int argc, char **argv)
        case 'u':
          flag_unconditional = 1;
          break;
+        case 'd':
+          flag_display_progress = 1;
+          break;
        case 'v':
          print_version ();
          /* print_version will exit.  */