diff mbox

[6/8] Fix format_gcov to not print misleading values (PR gcov-profile/53915)

Message ID 2a0a49504761b82ba3a21addd134365658713f28.1493371589.git.mliska@suse.cz
State New
Headers show

Commit Message

Martin Liška April 27, 2017, 10:04 a.m. UTC
gcc/ChangeLog:

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

	PR gcov-profile/53915
	* gcov.c (format_gcov): Print 'NAN %' when top > bottom.
---
 gcc/gcov.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Nathan Sidwell April 28, 2017, 11:27 a.m. UTC | #1
On 04/27/2017 06:04 AM, marxin wrote:
> gcc/ChangeLog:
> 
> 2017-04-27  Martin Liska  <mliska@suse.cz>
> 
> 	PR gcov-profile/53915
> 	* gcov.c (format_gcov): Print 'NAN %' when top > bottom.

ok
diff mbox

Patch

diff --git a/gcc/gcov.c b/gcc/gcov.c
index 0adb4466f70..22378583c5c 100644
--- a/gcc/gcov.c
+++ b/gcc/gcov.c
@@ -1942,6 +1942,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;