diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/memtemp58.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/memtemp58.C | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp58.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp58.C new file mode 100644 index 000000000..78111c710 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp58.C @@ -0,0 +1,30 @@ +// { dg-do assemble } +// GROUPS passed templates membertemplates +template<int N, class T> +struct B { +}; + +template<int N1, int N2, int N3> +struct D { + struct E { + template<int N4, class T> + static void f(B<N4,T>) + { } + }; +}; + +template<int N> +struct A { + template<int N2, class T, int N3> + static void f(B<N2,T>, B<N3,T> b) + { + typedef typename D<N2,N3,N>::E E; + E::f(b); + } +}; + +void foo() +{ + A<5>::f(B<5,float>(),B<3,float>()); +} + |