Fix gcov misleading error (PR gcov-profile/86817).
authorMartin Liska <mliska@suse.cz>
Thu, 2 Aug 2018 10:17:34 +0000 (12:17 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Thu, 2 Aug 2018 10:17:34 +0000 (10:17 +0000)
2018-08-02  Martin Liska  <mliska@suse.cz>

        PR gcov-profile/86817
* gcov.c (process_all_functions): New function.
(main): Call it.
(process_file): Move functions processing to
        process_all_functions.

From-SVN: r263248

gcc/ChangeLog
gcc/gcov.c

index 35e4d99751d78f9624589b8f0c7f7a20fa4d5d58..d0eaa6ef28c6be5d9d06152a1f7798b350baac9f 100644 (file)
@@ -1,3 +1,11 @@
+2018-08-02  Martin Liska  <mliska@suse.cz>
+
+        PR gcov-profile/86817
+       * gcov.c (process_all_functions): New function.
+       (main): Call it.
+       (process_file): Move functions processing to
+        process_all_functions.
+
 2018-08-02  Thomas Preud'homme  <thomas.preudhomme@linaro.org>
 
        PR target/85434
index 78a3e0e19e9a771bbe0d9c4a3ca6328a8837e4a4..43dfc9a4b2c90400e88f88272a69b580c16faade 100644 (file)
@@ -543,6 +543,7 @@ static int process_args (int, char **);
 static void print_usage (int) ATTRIBUTE_NORETURN;
 static void print_version (void) ATTRIBUTE_NORETURN;
 static void process_file (const char *);
+static void process_all_functions (void);
 static void generate_results (const char *);
 static void create_file_names (const char *);
 static char *canonicalize_name (const char *);
@@ -798,6 +799,7 @@ main (int argc, char **argv)
 
       if (flag_intermediate_format || argno == argc - 1)
        {
+         process_all_functions ();
          generate_results (argv[argno]);
          release_structures ();
        }
@@ -1145,11 +1147,14 @@ process_file (const char *file_name)
 {
   create_file_names (file_name);
   read_graph_file ();
-  if (functions.empty ())
-    return;
-
   read_count_file ();
+}
 
+/* Process all functions in all files.  */
+
+static void
+process_all_functions (void)
+{
   hash_map<function_start_pair_hash, function_info *> fn_map;
 
   /* Identify group functions.  */
@@ -1226,7 +1231,6 @@ process_file (const char *file_name)
          if (fn->is_group)
            fn->lines.resize (fn->end_line - fn->start_line + 1);
 
-
          solve_flow_graph (fn);
          if (fn->has_catch)
            find_exception_blocks (fn);