1 /* Copyright (C) 2000 Free Software Foundation */
2 /* by Alexandre Oliva <aoliva@redhat.com> */
3
4 enum 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
12 int
main()13 main ()
14 {
15 int i;
16 for (i = BAR; i >= FOO; --i)
17 if (i == -1)
18 abort ();
19
20 exit (0);
21 }
22
23