* rank; it's acceptable to use an unsigned long or unsigned int for the size
* type (those ranks are not greater than that of signed long).
*/
- (void)_Generic(s + sl, __typeof__(s) : 1, unsigned long : 1, unsigned int : 1);
- (void)_Generic(p + sl, __typeof__(p) : 1, signed long : 1, signed int : 1);
+ (void)_Generic(s + sl, unsigned long long : 1, unsigned long : 1, unsigned int : 1);
+ (void)_Generic(p + sl, signed long long : 1, signed long : 1, signed int : 1);
#elif __LLONG_WIDTH__ == __LONG_WIDTH__
/* But if the implementation doesn't support a larger standard integer type
* than signed long, the conversion rank should prefer signed long if the type