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
>

Reply via email to