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

Reply via email to