https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69116
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEW CC| |jason at gcc dot gnu.org Component|libstdc++ |c++ Known to fail|4.8.4 |4.8.1 --- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- The errors started with r196733, the library code didn't change. namespace std { template<typename _CharT> class basic_ostream { public: basic_ostream& operator<<(basic_ostream& (*__pf)(basic_ostream&)) { return __pf(*this); } }; typedef basic_ostream<char> ostream; template<typename _CharT> inline basic_ostream<_CharT>& endl(basic_ostream<_CharT>& __os) { return __os; } } template<class T> struct foo { T f(); void g(T); }; template<class T> void operator<<(const T&, const foo<T>&) {} struct x : public std::ostream { virtual void flush() = 0; }; void bar(x& os) { os << std::endl; }