> So... who is right? Are we supposed to support multiple pointer sizes > in the same compilation unit, or not?
Who's "we"? The middle-end and relevant back-ends support it, but clearly not all the front ends. C and Ada does but your experiment seems to show that C++ does not.