chibicc/test/enum.c

19 lines
708 B
C

#include "test.h"
int main() {
ASSERT(0, ({ enum { zero, one, two }; zero; }));
ASSERT(1, ({ enum { zero, one, two }; one; }));
ASSERT(2, ({ enum { zero, one, two }; two; }));
ASSERT(5, ({ enum { five=5, six, seven }; five; }));
ASSERT(6, ({ enum { five=5, six, seven }; six; }));
ASSERT(0, ({ enum { zero, five=5, three=3, four }; zero; }));
ASSERT(5, ({ enum { zero, five=5, three=3, four }; five; }));
ASSERT(3, ({ enum { zero, five=5, three=3, four }; three; }));
ASSERT(4, ({ enum { zero, five=5, three=3, four }; four; }));
ASSERT(4, ({ enum { zero, one, two } x; sizeof(x); }));
ASSERT(4, ({ enum t { zero, one, two }; enum t y; sizeof(y); }));
printf("OK\n");
return 0;
}