diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/fnspec1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/fnspec1.C | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/fnspec1.C b/gcc/testsuite/g++.dg/template/fnspec1.C new file mode 100644 index 000000000..5d5324475 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/fnspec1.C @@ -0,0 +1,16 @@ +// PR c++/35146 + +template <typename T> struct S {}; + +template <typename R> struct ref; +template <> struct ref<double> { typedef double result; }; + +template <typename T> +void foo(typename ref<T>::result, S<T>*); +template <> +void foo(S<double>, S<double>*); // { dg-error "does not match" } +template <> +void foo(double alpha, S<double>* x) +{ + alpha; x; +} |