> The C++ standard says that extended integer types participate in the > usual arithmetic conversions. If I add a 32-bit int and an __int48, the > usual arithmetic conversions should convert the int to __int48.
Except the code you're referring to isn't part of that conversion. It only handles types that are the same size, not different sizes, and as I said the __intN types are never the same size as standard types (except __int128) so there are no conversions to worry about - in the code you're referring to. In the common parts of the MI the __intN types are handled separately, in each case where i_t[] is referenced. > We still need mangling tests for __int20, though. The test would only pass for msp430x (and fail for msp430, which is the same target back-end). Do I need to redo the big patch, or would a separate one suffice?