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