https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86130
--- Comment #20 from Jeremy R. <llvm at rifkin dot dev> --- Silently ruining the behavior of the rest of a program and leaving the programmer to pull their hair out over what on earth is happening seems very un-ideal behavior. This is a very easy mistake to make and the current behavior makes tracking down that mistake exceedingly difficult. I do recognize the concerns here about existing programs and crashing being arguably less friendly, but something should be done here. Libc++ and msvc's stl both segfault and there's some value in making the behavior here consistent. (In reply to Jonathan Wakely from comment #13) > I'm not suggesting we should print "(null)", that would be crazy Maybe, but it's also a nice middle ground between silently corrupting the stream and crashing the program. Throwing an exception, even only in debug, also seems reasonable as existing programs may be able to recover from the exception without crashing.