https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65000
--- Comment #3 from Lars Gullik Bjønnes <larsbj at gullik dot net> --- This is a different code snippet to get what seems to be the same error: --------------- #include <ostream> int f(unsigned int datalen); class Streambuf : public std::basic_streambuf<char> { private: virtual int sync() { f(this->pptr() - this->pbase()); return 0; } }; class Stream : public std::basic_ostream<char> { public: ~Stream() { buf_.pubsync(); } private: Streambuf buf_; }; void test() { Stream cs; } --------------- I'll add preprocessed source for that as well.