1// { dg-do run  }
2extern "C" void abort ();
3
4template <class T> void f ()
5{
6  abort ();
7}
8
9template <> void f<char> ()
10{
11  abort ();
12}
13
14template <class T> void f (int)
15{
16  abort ();
17}
18
19template <> void f<char> (int)
20{
21}
22
23template <class T> class C
24{
25  friend void f<char> (int);
26  public:
27    void ff () { f<char> (0); }
28};
29
30int main ()
31{
32  C<int> c;
33  c.ff();
34}
35