https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86130

--- Comment #12 from Paul Sanders <p.sanders at alpinesoft dot co.uk> ---
Sorry, I posted that in a bit of a rush.  I took a proper look and the null
pointers that set badbit actually make excellent sense.

So I'll suggest a way out of the backwards compatibility conundrum when
`ostream::operator<<` is passed a null pointer (of any sort).  The suggestion I
have is to test for a null pointer _only_ if the stream is set up to throw
badbit exceptions  Otherwise, just blindly dereference the pointer and crash.

The rationale for this is that people who have set up an exception handler for
badbit _might_ just have done so to catch null pointers.  I think it's unlikely
but it's possible.  Those who haven't are probably getting away with something
they shouldn't.

Any interest?

Reply via email to