Message ID | 20200617131645.1207588-1-ppalka@redhat.com |
---|---|
State | New |
Headers | show |
Series | [committed] Fix use of inaccessible member in pr85503.C [PR95716] | expand |
Hi, On Wed, 17 Jun 2020 at 15:16, Patrick Palka via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > The recent PR41437 fix exposed a latent use of an inaccessible member in > the below testcase. > > Committed as obvious after verifying that the testcase no longer fails to > compile due to the reported access error. > I've noticed a similar problem in g++.target/aarch64/pr94052.C. The small patch below fixes it, OK for trunk? diff --git a/gcc/testsuite/g++.target/aarch64/pr94052.C b/gcc/testsuite/g++.target/aarch64/pr94052.C index d36c9bd..b3bc3e2 100644 --- a/gcc/testsuite/g++.target/aarch64/pr94052.C +++ b/gcc/testsuite/g++.target/aarch64/pr94052.C @@ -26,7 +26,7 @@ public: d x(); d y(); }; -class z : ad<int> {}; +class z : public ad<int> {}; struct ae { p af; }; Thanks, Christophe > gcc/testsuite/ChangeLog: > > PR testsuite/95716 > * g++.dg/ext/pr85503.C: Give ai::cv public access. > --- > gcc/testsuite/g++.dg/ext/pr85503.C | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/gcc/testsuite/g++.dg/ext/pr85503.C b/gcc/testsuite/g++.dg/ext/pr85503.C > index 7e17943e353..832952a8774 100644 > --- a/gcc/testsuite/g++.dg/ext/pr85503.C > +++ b/gcc/testsuite/g++.dg/ext/pr85503.C > @@ -138,6 +138,7 @@ struct ad< ai< cr, ag, ah, cu, ct, cw > > { > }; > template < typename, int ag, int ah, int, int, int > > class ai : public af< ai< double, ag, ah > > { > +public: > typedef ai cv; > }; > template < typename bk, typename ce, typename cf > > -- > 2.27.0.83.g0313f36c6e >
On Thu, 18 Jun 2020, Christophe Lyon wrote: > Hi, > > On Wed, 17 Jun 2020 at 15:16, Patrick Palka via Gcc-patches > <gcc-patches@gcc.gnu.org> wrote: > > > > The recent PR41437 fix exposed a latent use of an inaccessible member in > > the below testcase. > > > > Committed as obvious after verifying that the testcase no longer fails to > > compile due to the reported access error. > > > > I've noticed a similar problem in g++.target/aarch64/pr94052.C. > The small patch below fixes it, OK for trunk? The patch looks good to me, thanks! (I can't formally approve it, but I think the patch is simple/obvious enough to be able to commit without formal approval.) > > diff --git a/gcc/testsuite/g++.target/aarch64/pr94052.C > b/gcc/testsuite/g++.target/aarch64/pr94052.C > index d36c9bd..b3bc3e2 100644 > --- a/gcc/testsuite/g++.target/aarch64/pr94052.C > +++ b/gcc/testsuite/g++.target/aarch64/pr94052.C > @@ -26,7 +26,7 @@ public: > d x(); > d y(); > }; > -class z : ad<int> {}; > +class z : public ad<int> {}; > struct ae { > p af; > }; > > > Thanks, > > Christophe > > > gcc/testsuite/ChangeLog: > > > > PR testsuite/95716 > > * g++.dg/ext/pr85503.C: Give ai::cv public access. > > --- > > gcc/testsuite/g++.dg/ext/pr85503.C | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/gcc/testsuite/g++.dg/ext/pr85503.C b/gcc/testsuite/g++.dg/ext/pr85503.C > > index 7e17943e353..832952a8774 100644 > > --- a/gcc/testsuite/g++.dg/ext/pr85503.C > > +++ b/gcc/testsuite/g++.dg/ext/pr85503.C > > @@ -138,6 +138,7 @@ struct ad< ai< cr, ag, ah, cu, ct, cw > > { > > }; > > template < typename, int ag, int ah, int, int, int > > > class ai : public af< ai< double, ag, ah > > { > > +public: > > typedef ai cv; > > }; > > template < typename bk, typename ce, typename cf > > > -- > > 2.27.0.83.g0313f36c6e > > > >
On Thu, 18 Jun 2020 at 16:56, Patrick Palka <ppalka@redhat.com> wrote: > > On Thu, 18 Jun 2020, Christophe Lyon wrote: > > > Hi, > > > > On Wed, 17 Jun 2020 at 15:16, Patrick Palka via Gcc-patches > > <gcc-patches@gcc.gnu.org> wrote: > > > > > > The recent PR41437 fix exposed a latent use of an inaccessible member in > > > the below testcase. > > > > > > Committed as obvious after verifying that the testcase no longer fails to > > > compile due to the reported access error. > > > > > > > I've noticed a similar problem in g++.target/aarch64/pr94052.C. > > The small patch below fixes it, OK for trunk? > > The patch looks good to me, thanks! (I can't formally approve it, but > I think the patch is simple/obvious enough to be able to commit without > formal approval.) > OK thanks, pushed as r11-1515-g634e6f49101c92ccb83ad3d65f975162582c5dea Christophe > > > > diff --git a/gcc/testsuite/g++.target/aarch64/pr94052.C > > b/gcc/testsuite/g++.target/aarch64/pr94052.C > > index d36c9bd..b3bc3e2 100644 > > --- a/gcc/testsuite/g++.target/aarch64/pr94052.C > > +++ b/gcc/testsuite/g++.target/aarch64/pr94052.C > > @@ -26,7 +26,7 @@ public: > > d x(); > > d y(); > > }; > > -class z : ad<int> {}; > > +class z : public ad<int> {}; > > struct ae { > > p af; > > }; > > > > > > Thanks, > > > > Christophe > > > > > gcc/testsuite/ChangeLog: > > > > > > PR testsuite/95716 > > > * g++.dg/ext/pr85503.C: Give ai::cv public access. > > > --- > > > gcc/testsuite/g++.dg/ext/pr85503.C | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/gcc/testsuite/g++.dg/ext/pr85503.C b/gcc/testsuite/g++.dg/ext/pr85503.C > > > index 7e17943e353..832952a8774 100644 > > > --- a/gcc/testsuite/g++.dg/ext/pr85503.C > > > +++ b/gcc/testsuite/g++.dg/ext/pr85503.C > > > @@ -138,6 +138,7 @@ struct ad< ai< cr, ag, ah, cu, ct, cw > > { > > > }; > > > template < typename, int ag, int ah, int, int, int > > > > class ai : public af< ai< double, ag, ah > > { > > > +public: > > > typedef ai cv; > > > }; > > > template < typename bk, typename ce, typename cf > > > > -- > > > 2.27.0.83.g0313f36c6e > > > > > > > >
diff --git a/gcc/testsuite/g++.dg/ext/pr85503.C b/gcc/testsuite/g++.dg/ext/pr85503.C index 7e17943e353..832952a8774 100644 --- a/gcc/testsuite/g++.dg/ext/pr85503.C +++ b/gcc/testsuite/g++.dg/ext/pr85503.C @@ -138,6 +138,7 @@ struct ad< ai< cr, ag, ah, cu, ct, cw > > { }; template < typename, int ag, int ah, int, int, int > class ai : public af< ai< double, ag, ah > > { +public: typedef ai cv; }; template < typename bk, typename ce, typename cf >