// PR middle-end/18683 // { dg-do compile } // { dg-options "-O0" } template struct basic_ostream { basic_ostream& operator<<(int __n); }; extern basic_ostream cout; template struct linear_congruential { template friend basic_ostream& operator<<(basic_ostream& os, const linear_congruential& lcg) { return os << 1; } }; void instantiate_all() { linear_congruential<0> lcf; cout << lcf; }