http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58924
--- Comment #3 from Daniel Krügler <daniel.kruegler at googlemail dot com> --- (In reply to Fanael from comment #1) I agree with Fanael: It is supposed to be that way in C++11 because of the provided stream-rvalue support via template <class charT, class traits, class T> basic_ostream<charT, traits>& operator<<(basic_ostream<charT, traits>&& os, const T& x);