diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/friend7.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/friend7.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/friend7.C b/gcc/testsuite/g++.dg/template/friend7.C new file mode 100644 index 000000000..a954f8990 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/friend7.C @@ -0,0 +1,33 @@ +// { dg-do compile } + +template <typename V> +struct b +{ + template <typename T> + class a + { + template <typename> + friend class a; + + T t_; + + public: + a() {} + a(a<T *> const &); + }; +}; + +template <typename V> +template <typename T> +b<V>::a<T>::a(a<T *> const &rhs): t_(*rhs.t_) +{} + + +int +f () +{ + b<void *>::a<char *> q; + b<void *>::a<char> w(q); + + return 0; +} |