Various quality-of-life improvements (ideas from @33577 )

* Very basic `hello_main.c`
* Big starting hint to `write_c`
* Better error messages on failed test
  * TODO: also improve it for asmgen, but not sure how to do it in a good way
This commit is contained in:
Janggun Lee
2025-02-25 00:28:55 +09:00
parent fad9d02fea
commit 72dadc608d
50 changed files with 290 additions and 182 deletions

View File

@@ -1,29 +1,33 @@
struct color { int number; char name; };
struct color {
int number;
char name;
};
int main() {
int temp = 0;
temp += sizeof(unsigned char);
temp += _Alignof(unsigned char);
int temp = 0;
temp += sizeof(unsigned char);
temp += _Alignof(unsigned char);
struct color c = {1, 2};
temp += c.name;
struct color *cp = &c;
temp += cp->name;
struct color c = {1, 2};
temp += c.name;
struct color* cp = &c;
temp += cp->name;
for(int i = 0, j = 0; i < 10; ++i) {
if ( i == 2 && j == 0) break;
temp += i;
}
switch(temp) {
case 1: {
temp = 0;
break;
for (int i = 0, j = 0; i < 10; ++i) {
if (i == 2 && j == 0)
break;
temp += i;
}
default: {
break;
}
}
return temp;
switch (temp) {
case 1: {
temp = 0;
break;
}
default: {
break;
}
}
return temp;
}