https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56551
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- As I just wrote on the duplicate bug: I've looked into this and I don't think it can be done without an ABI break. Objects constructed in old code compiled by an older GCC would still have a null pointer, so code compiled by a new GCC can't assume that the pointer is never null.