OSDN Git Service

2011-02-20 Paolo Carlini <paolo.carlini@oracle.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / template / friend28.C
1 // PR c++/15629
2 // { dg-do link }
3
4 template<int a, int b> class T; 
5  
6 template<int a, int b> void func(T<a, b> * t);
7 template<int a>        void func(T<a, 3> * t) {}
8 template void func<2>(T<2, 3>*);
9  
10 template<int a, int b> struct T { 
11   friend void func<a, b>(T<a, b> * t); 
12   friend void func<a>   (T<a, 3> * t); 
13    
14   void foo(); 
15 }; 
16  
17 template<int a, int b> void T<a, b>::foo() { 
18   func((T<2,3>*)0); 
19
20  
21 int main() { 
22   T<2,3>().foo(); 
23