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