diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/spec13.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/spec13.C | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec13.C b/gcc/testsuite/g++.old-deja/g++.pt/spec13.C new file mode 100644 index 000000000..b72794acd --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/spec13.C @@ -0,0 +1,44 @@ +// { dg-do run } +template <class T> +void f(T t); + +template <class T> +void f(T* t); + +template <> +void f(int* ip) {} + +struct S1 +{ + template <class T> + void f(T t); + + template <class T> + void f(T* t); +}; + +template <> +void S1::f(int* ip) {} + +template <class U> +struct S2 +{ + template <class T> + void f(T t); + + template <class T> + void f(T* t); +}; + +template <> +template <> +void S2<double>::f(int* ip) {} + +int main() +{ + int* ip; + S1 s1; + s1.f(ip); + S2<double> s2; + s2.f(ip); +} |