1extern void exit (int); 2extern void abort (void); 3extern unsigned short f (short a) __attribute__((__noinline__)); 4 5unsigned short 6f (short a) 7{ 8 short b; 9 10 if (a > 0) 11 return 0; 12 b = ((int) a) + - (int) 32768; 13 return b; 14} 15 16int 17main (void) 18{ 19 if (sizeof (short) < 2 20 || sizeof (short) >= sizeof (int)) 21 exit (0); 22 23 if (f (-32767) != 1) 24 abort (); 25 26 exit (0); 27} 28