mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 11:37:35 +00:00
8da931a7f6
This program popped up on Hacker News recently. It's the only modern compiler I've ever seen that doesn't have dependencies and is easily modified. So I added all of the missing GNU extensions I like to use which means it might be possible soon to build on non-Linux and have third party not vendor gcc binaries.
50 lines
1.1 KiB
C
50 lines
1.1 KiB
C
#include "third_party/chibicc/test/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);
|
|
}));
|
|
return 0;
|
|
}
|