]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Backport r247375
authorMartin Liska <mliska@suse.cz>
Thu, 22 Jun 2017 11:27:31 +0000 (13:27 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Thu, 22 Jun 2017 11:27:31 +0000 (11:27 +0000)
2017-06-22  Martin Liska  <mliska@suse.cz>

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

PR gcov-profile/53915
* gcov.c (format_gcov): Print 'NAN %' when top > bottom.

From-SVN: r249529

gcc/ChangeLog
gcc/gcov.c

index e4f023f03c014f6a2c54a606da1bf0f68eb9aab7..5022643b23d5410f9b40f12f7f5ac8c8525077cc 100644 (file)
@@ -1,3 +1,11 @@
+2017-06-22  Martin Liska  <mliska@suse.cz>
+
+       Backport from mainline
+       2017-04-28  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/53915
+       * gcov.c (format_gcov): Print 'NAN %' when top > bottom.
+
 2017-06-22  Martin Liska  <mliska@suse.cz>
 
        Backport from mainline
index fd65efff94e1c056ffb6604097ee28ce09de5ec8..79128ff50c05ceb77163edcc3dffd15d0a3d8030 100644 (file)
@@ -1768,6 +1768,13 @@ format_gcov (gcov_type top, gcov_type bottom, int dp)
 {
   static char buffer[20];
 
+  /* Handle invalid values that would result in a misleading value.  */
+  if (bottom != 0 && top > bottom && dp >= 0)
+    {
+      sprintf (buffer, "NAN %%");
+      return buffer;
+    }
+
   if (dp >= 0)
     {
       float ratio = bottom ? (float)top / bottom : 0;