1// Test that type shifts that result to narrower types don't produce warnings. 2 3void 4foo(void) { 5 unsigned long l = 100; 6 unsigned long long ll = 100; 7 unsigned int i = 100; 8 unsigned short s = 100; 9 unsigned char c = 1; 10 11 l = ll >> 32; 12// i = ll >> 31; 13 i = ll >> 32; 14 s = ll >> 48; 15 c = ll >> 56; 16 s = i >> 16; 17 c = i >> 24; 18 c = s >> 8; 19 (void)≪ 20 (void)&l; 21 (void)&i; 22 (void)&s; 23 (void)&c; 24} 25