extern void abort (); int f(int x) { return (x >> (sizeof (x) * __CHAR_BIT__ - 1)) ? -1 : 1; } volatile int one = 1; int main (void) { /* Test that the function above returns different values for different signs. */ if (f(one) == f(-one)) abort (); return 0; }