1/* Copyright (C) 2000 Free Software Foundation */
2/* by Alexandre Oliva  <aoliva@redhat.com> */
3
4enum foo { FOO, BAR };
5
6/* Even though the underlying type of an enum is unspecified, the type
7   of enumeration constants is explicitly defined as int (6.4.4.3/2 in
8   the C99 Standard).  Therefore, `i' must not be promoted to
9   `unsigned' in the comparison below; we must exit the loop when it
10   becomes negative. */
11
12int
13main ()
14{
15  int i;
16  for (i = BAR; i >= FOO; --i)
17    if (i == -1)
18      abort ();
19
20  exit (0);
21}
22
23