diff mbox series

[committed] Fix use of inaccessible member in pr85503.C [PR95716]

Message ID 20200617131645.1207588-1-ppalka@redhat.com
State New
Headers show
Series [committed] Fix use of inaccessible member in pr85503.C [PR95716] | expand

Commit Message

Patrick Palka June 17, 2020, 1:16 p.m. UTC
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.

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(+)

Comments

Christophe Lyon June 18, 2020, 2:08 p.m. UTC | #1
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
>
Patrick Palka June 18, 2020, 2:56 p.m. UTC | #2
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
> >
> 
>
Christophe Lyon June 18, 2020, 3:29 p.m. UTC | #3
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 mbox series

Patch

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 >