Message ID | 277f98a1-9b9a-00e4-071d-83815dda5058@suse.cz |
---|---|
State | New |
Headers | show |
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 >
> > 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 >
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