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.
31 lines
621 B
C
31 lines
621 B
C
#include "third_party/chibicc/test/test.h"
|
|
|
|
typedef struct Tree {
|
|
int val;
|
|
struct Tree *lhs;
|
|
struct Tree *rhs;
|
|
} Tree;
|
|
|
|
Tree *tree = &(Tree){1, &(Tree){2, &(Tree){3, 0, 0}, &(Tree){4, 0, 0}}, 0};
|
|
|
|
int main() {
|
|
ASSERT(1, (int){1});
|
|
ASSERT(2, ((int[]){0, 1, 2})[2]);
|
|
ASSERT('a', ((struct {
|
|
char a;
|
|
int b;
|
|
}){'a', 3})
|
|
.a);
|
|
ASSERT(3, ({
|
|
int x = 3;
|
|
(int){x};
|
|
}));
|
|
(int){3} = 5;
|
|
|
|
ASSERT(1, tree->val);
|
|
ASSERT(2, tree->lhs->val);
|
|
ASSERT(3, tree->lhs->lhs->val);
|
|
ASSERT(4, tree->lhs->rhs->val);
|
|
|
|
return 0;
|
|
}
|