diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/spec7.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/spec7.C | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/spec7.C b/gcc/testsuite/g++.dg/template/spec7.C new file mode 100644 index 000000000..18d3c90c4 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/spec7.C @@ -0,0 +1,27 @@ +// { dg-do compile } + +// PR c++/6440: Specialization of member class template. + +template<class T> struct A +{ + template<class U> struct B {}; +}; + +template<> template<class U> +struct A<int>::B +{ + void f(); + template <class V> void g(V); +}; + +template<> template<> template <class V> void A<int>::B<char>::g(V) +{ +} + +A<int>::B<char> b; + +int h() +{ + b.f(); + b.g(0); +} |