diff mbox

gcov: Add block_info::block_info (PR gcov-profile/80911).

Message ID 277f98a1-9b9a-00e4-071d-83815dda5058@suse.cz
State New
Headers show

Commit Message

Martin Liška May 30, 2017, 9:41 a.m. UTC
Hello.

Following patch adds default constructor that initializes all fields in block_info.

Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.

Ready to be installed?
Martin

Comments

Tom de Vries June 7, 2017, 9:03 a.m. UTC | #1
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 <mliska@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  <mliska@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
>
Jan Hubicka June 7, 2017, 4:36 p.m. UTC | #2
> 
> 2017-05-29  Martin Liska  <mliska@suse.cz>
> 
> 	PR gcov-profile/80911
> 	* gcov.c (block_info::block_info): New constructor.

OK, thanks!
Honza
> ---
>  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
> -- 
> 2.12.2
>
diff mbox

Patch

From b4f7a624b25c7cf3ed3ccc6d59fb68d1dabb2873 Mon Sep 17 00:00:00 2001
From: marxin <mliska@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  <mliska@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
-- 
2.12.2