Member predicate IntegralType::getCanonicalArithmeticType
Gets the canonical type corresponding to this integral type.
For a plain type, this gives the same type (e.g. short -> short).
For an explicitly unsigned type, this gives the same type (e.g. unsigned short -> unsigned short).
For an explicitly signed type, this gives the plain version of that type (e.g. signed short -> short), except
that signed char -> signed char.