mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 03:27:39 +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.
51 lines
864 B
C
51 lines
864 B
C
#include "third_party/chibicc/test/test.h"
|
|
|
|
int main() {
|
|
ASSERT(1, ({
|
|
char x;
|
|
sizeof(x);
|
|
}));
|
|
ASSERT(2, ({
|
|
short int x;
|
|
sizeof(x);
|
|
}));
|
|
ASSERT(2, ({
|
|
int short x;
|
|
sizeof(x);
|
|
}));
|
|
ASSERT(4, ({
|
|
int x;
|
|
sizeof(x);
|
|
}));
|
|
ASSERT(8, ({
|
|
long int x;
|
|
sizeof(x);
|
|
}));
|
|
ASSERT(8, ({
|
|
int long x;
|
|
sizeof(x);
|
|
}));
|
|
|
|
ASSERT(8, ({
|
|
long long x;
|
|
sizeof(x);
|
|
}));
|
|
|
|
ASSERT(0, ({
|
|
_Bool x = 0;
|
|
x;
|
|
}));
|
|
ASSERT(1, ({
|
|
_Bool x = 1;
|
|
x;
|
|
}));
|
|
ASSERT(1, ({
|
|
_Bool x = 2;
|
|
x;
|
|
}));
|
|
ASSERT(1, (_Bool)1);
|
|
ASSERT(1, (_Bool)2);
|
|
ASSERT(0, (_Bool)(char)256);
|
|
|
|
return 0;
|
|
}
|