Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/template/friend6.C @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do compile } namespace boost_no_member_template_friends{ template <class T> class foobar; template <class T> class foo { private: template<typename Y> friend class foobar; template<typename Y> friend class foo; template<typename Y> friend bool must_be_friend_proc(const foo<Y>& f); int i; public: foo(){ i = 0; } template <class U> foo(const foo<U>& f){ i = f.i; } }; template <class T> class foo; template <class T> bool must_be_friend_proc(const foo<T>& f); template <class T> bool must_be_friend_proc(const foo<T>& f) { return f.i != 0; } template <class T> class foobar { int i; public: template <class U> foobar(const foo<U>& f) { i = f.i; } }; int test() { foo<int> fi; foo<double> fd(fi); (void) &fd; // avoid "unused variable" warning foobar<long> fb(fi); (void) &fb; // avoid "unused variable" warning return 0; } }