------- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-29 01:31 ------- Reduced down to: __extension__ typedef unsigned long long int uint64_t; template<class _CharT> struct char_traits; template<typename _CharT, typename _Traits = char_traits<_CharT> > class basic_ostream; typedef basic_ostream<char> ostream; template<typename _CharT, typename _Traits> struct basic_ostream { typedef basic_ostream<_CharT, _Traits> __ostream_type; __ostream_type& operator<<(long long __n); __ostream_type& operator<<(unsigned long long __n); }; extern ostream cout;
template<class IntType> struct linear_congruential { template<class CharT, class Traits> friend basic_ostream<CharT,Traits>& operator<<(basic_ostream<CharT,Traits>& os, const linear_congruential& lcg) { return os << lcg._x; } private: uint64_t _x; }; void instantiate_all() { linear_congruential<uint64_t> lcf; uint64_t _x; cout << lcf; } -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1 Known to fail| |4.0.0 3.4.0 Known to work| |3.3.2 Last reconfirmed|0000-00-00 00:00:00 |2004-11-29 01:31:18 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18683