URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [template/] [memfriend10.C] - Rev 695
Go to most recent revision | Compare with Previous | Blame | View Log
// { dg-do compile }// Copyright (C) 2004 Free Software Foundation// Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>// Nested class template of class template as friendtemplate <class T> struct A{template <class U> struct B{void f();};};class C {int i;template <class T> template <class U> friend struct A<T>::B;};template <class T> struct A<T*>{template <class U> struct B{void f();};};template <> struct A<char>{template <class U> struct B{void f();};};template <class T> template <class U> void A<T>::B<U>::f(){C c;c.i = 0;}template <class T> template <class U> void A<T*>::B<U>::f(){C c;c.i = 0;}template <class U> void A<char>::B<U>::f(){C c;c.i = 0;}template <> void A<char>::B<int>::f(){C c;c.i = 0;}int main(){A<int>::B<int> b1;b1.f();A<int *>::B<int> b2;b2.f();A<char>::B<char> b3;b3.f();A<char>::B<int> b4;b4.f();}
Go to most recent revision | Compare with Previous | Blame | View Log
