diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/partial5.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/partial5.C | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/partial5.C b/gcc/testsuite/g++.dg/template/partial5.C new file mode 100644 index 000000000..aa32e3b8a --- /dev/null +++ b/gcc/testsuite/g++.dg/template/partial5.C @@ -0,0 +1,24 @@ +// PR c++/33964 + +template<typename T> +struct X { }; + +template<typename T> +struct X<typename T::foo> { }; // { dg-error "not used|T" } + +template<int N> +struct X<int[N]> {}; // okay + + +template<typename T, typename T::foo V> +struct Y { }; + +template<typename T, typename U, U v> +struct Y<T, v> { }; // { dg-error "not used|U" } + + +template<typename T, T V> +struct Z { }; + +template<typename T> +struct Z<T, (T)0> { }; // { dg-error "involves template parameter" } |