On 05/30/2017 11:41 AM, Martin Liška wrote:
Hello.
Following patch adds default constructor that initializes all fields in
block_info.
Which fixes the 77 corrupted gcno regressions that currently show up
when compiling trunk with g++ 4.4.3.
Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.
Ready to be installed?
Ping.
Thanks,
- Tom
Martin
0001-gcov-Add-block_info-block_info-PR-gcov-profile-80911.patch
From b4f7a624b25c7cf3ed3ccc6d59fb68d1dabb2873 Mon Sep 17 00:00:00 2001
From: marxin <mli...@suse.cz>
Date: Mon, 29 May 2017 14:00:09 +0200
Subject: [PATCH] gcov: Add block_info::block_info (PR gcov-profile/80911).
gcc/ChangeLog:
2017-05-29 Martin Liska <mli...@suse.cz>
PR gcov-profile/80911
* gcov.c (block_info::block_info): New constructor.
---
gcc/gcov.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/gcc/gcov.c b/gcc/gcov.c
index a5aa4aadcac..e324cadad82 100644
--- a/gcc/gcov.c
+++ b/gcc/gcov.c
@@ -132,6 +132,9 @@ struct block_location_info
typedef struct block_info
{
+ /* Constructor. */
+ block_info ();
+
/* Chain of exit and entry arcs. */
arc_t *succ;
arc_t *pred;
@@ -173,6 +176,14 @@ typedef struct block_info
} block_t;
+block_info::block_info (): succ (NULL), pred (NULL), num_succ (0), num_pred (0),
+ id (0), count (0), count_valid (0), valid_chain (0), invalid_chain (0),
+ exceptional (0), is_call_site (0), is_call_return (0), is_nonlocal_return
(0),
+ locations (), chain (NULL)
+{
+ cycle.arc = NULL;
+}
+
/* Describes a single function. Contains an array of basic blocks. */
typedef struct function_info