1 unsigned short a = 41461; 2 unsigned short b = 3419; 3 #if __SIZEOF_INT__ >= 4 4 int c = 0; 5 foo()6void foo() { 7 if (a + b * ~(0 != 5)) 8 c = -~(b * ~(0 != 5)) + 2147483647; 9 } 10 #else 11 __INT32_TYPE__ c = 0; 12 foo()13void foo() { 14 if (a + b * ~((__INT32_TYPE__)(0 != 5))) 15 c = -~(b * ~((__INT32_TYPE__)(0 != 5))) + 2147483647; 16 } 17 #endif 18 main()19int main() { 20 foo(); 21 if (c != 2147476810) 22 return -1; 23 return 0; 24 } 25