https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92693
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Matthijs Kooijman from comment #0) > I would expect that, since both types are 32-bit long, they would actually > resolve to the same type. This would also make overload resolution work as > expected. Is there any reason for this inconsistency, or could it be fixed? I don't see why you should expect that, there's nothing in the standards suggesting it should be the case. Changing it would be an ABI change, so seems like a bad idea.