diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/spec6.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/spec6.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec6.C b/gcc/testsuite/g++.old-deja/g++.pt/spec6.C new file mode 100644 index 000000000..fc19c3cf5 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/spec6.C @@ -0,0 +1,33 @@ +// { dg-do assemble } + +struct S1 +{ + template <class T> + void f(T t1, T t2); // { dg-message "note" } +}; + + +template <> +void S1::f(int i1, int i2); + +template <class U> +struct S2 +{ + template <class T> + void f(T t1, T t2); // { dg-message "note" } +}; + +template <> +template <> +void S2<char>::f(int i1, int i2); + +void h() +{ + S1 s1; + s1.f(3, 'c'); // { dg-error "" } no matching function + // { dg-message "candidate" "candidate note" { target *-*-* } 27 } + + S2<char> s2; + s2.f(3, 'c'); // { dg-error "" } no matching function + // { dg-message "candidate" "candidate note" { target *-*-* } 31 } +} |