On 3/19/19, H.J. Lu <hjl.to...@gmail.com> wrote: > PR c++/89630 > * g++.dg/cpp0x/pr89630.C: New test. > --- > gcc/testsuite/g++.dg/cpp0x/pr89630.C | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > create mode 100644 gcc/testsuite/g++.dg/cpp0x/pr89630.C > > diff --git a/gcc/testsuite/g++.dg/cpp0x/pr89630.C > b/gcc/testsuite/g++.dg/cpp0x/pr89630.C > new file mode 100644 > index 00000000000..56f659f9846 > --- /dev/null > +++ b/gcc/testsuite/g++.dg/cpp0x/pr89630.C > @@ -0,0 +1,15 @@ > +// { dg-do compile { target c++11 } } > +// { dg-additional-options "-mrtm -march=skylake-avx512" { target i?86-*-* > x86_64-*-* } } > + > +template <int> class A; > +template <typename> class B; > +template <typename> struct C; > +template <typename P_expr> class D { > + using B<typename P_expr::T_numtype>::rank_; > + void operator()(typename C<A<rank_>>::i); > +}; > + > +template <typename P_expr> class F { > + using B<typename P_expr::T_numtype>::rank_; > + void operator()(typename C<A<rank_>>::i); > +}; > -- > 2.20.1 >
This is the patch I am checking, -- H.J.
From 523688c48c9875d73c82eeea3178dd9347d88965 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" <hjl.to...@gmail.com> Date: Tue, 19 Mar 2019 04:29:18 +0800 Subject: [PATCH] Add a test for PR c++/89630 PR c++/89630 * g++.target/i386/pr89630.C: New test. --- gcc/testsuite/g++.target/i386/pr89630.C | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 gcc/testsuite/g++.target/i386/pr89630.C diff --git a/gcc/testsuite/g++.target/i386/pr89630.C b/gcc/testsuite/g++.target/i386/pr89630.C new file mode 100644 index 00000000000..240aa742000 --- /dev/null +++ b/gcc/testsuite/g++.target/i386/pr89630.C @@ -0,0 +1,15 @@ +// { dg-do compile } +// { dg-options "-std=c++14 -mrtm -march=skylake-avx512" } + +template <int> class A; +template <typename> class B; +template <typename> struct C; +template <typename P_expr> class D { + using B<typename P_expr::T_numtype>::rank_; + void operator()(typename C<A<rank_>>::i); +}; + +template <typename P_expr> class F { + using B<typename P_expr::T_numtype>::rank_; + void operator()(typename C<A<rank_>>::i); +}; -- 2.20.1