1130303Speterunsigned int buggy (unsigned int *param)
2130303Speter{
3130303Speter  unsigned int accu, zero = 0, borrow;
4130303Speter  accu    = - *param;
5130303Speter  borrow  = - (accu > zero);
6130303Speter  *param += accu;
7130303Speter  return borrow;
8130303Speter}
9130303Speter
10130303Speterint main (void)
11130303Speter{
12130303Speter  unsigned int param  = 1;
13130303Speter  unsigned int borrow = buggy (&param);
14130303Speter
15130303Speter  if (param != 0)
16130303Speter    abort ();
17130303Speter  if (borrow + 1 != 0)
18130303Speter    abort ();
19130303Speter  return 0;
20130303Speter}
21130303Speter