I'm interested in your thoughts on fixing c++/65945 in 5.2.

It's trivial to fix the alignment of nullptr_t, but I was concerned about ABI impact. On further research it seems that it won't cause any trouble with argument alignment, since that doesn't seem to rely on TYPE_ALIGN at all; I think the only ABI breakage would come from unaligned nullptr_t fields in classes, which I expect to be very rare. The testcases that were breaking on SPARC and ARM without this fix have to do with local stack slots, which are not part of an interface.

So I think we can change this without breaking a significant amount of code, and better to break it now than after we've settled into the new library ABI. We should certainly mention it prominently in the release notes if we do, and I've added a -Wabi warning for the field alignment change.

Does this make sense to you?

Jason

Reply via email to