http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46624
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-11-23 18:00:30 UTC --- I don't see a requirement in the standard for the behaviour you expect. istream::sync() calls streambuf::sync(), the behaviour of which depends on the specific streambuf type. Since the type of streambuf used by std::cin is unspecified, the behaviour of cin.sync() is also unspecified.