文件
Paze AI 251ee470bf feat: Paze C Compiler - 完整改造自 tcc 0.9.28rc
- 所有 tcc 文件/内容/宏改名为 pcc (tcc.c->pcc.c, tccelf.c->pccelf.c, libtcc.c->libpcc.c 等)
- 支持架构: i386, x86_64, ARM, ARM64, RISC-V, C67
- 支持格式: PE, ELF, Mach-O, COFF
- 完整预处理、代码生成、链接器、调试信息
- 构建成功: pcc.exe (x86_64 Windows)
- 功能测试通过: 递归/结构体/浮点/switch/循环
- 自编译测试通过: pcc 可以编译自身
2026-08-16 13:30:01 +08:00

113 行
2.3 KiB
C

extern int printf(const char *format, ...);
static void kb_wait_1(void)
{
unsigned long timeout = 2;
do {
(1 ?
printf("timeout=%ld\n", timeout) :
({
while (1)
printf("error\n");
})
);
timeout--;
} while (timeout);
}
static void kb_wait_2(void)
{
unsigned long timeout = 2;
do {
(1 ?
printf("timeout=%ld\n", timeout) :
({
for (;;)
printf("error\n");
})
);
timeout--;
} while (timeout);
}
static void kb_wait_2_1(void)
{
unsigned long timeout = 2;
do {
(1 ?
printf("timeout=%ld\n", timeout) :
({
do {
printf("error\n");
} while (1);
})
);
timeout--;
} while (timeout);
}
static void kb_wait_2_2(void)
{
unsigned long timeout = 2;
do {
(1 ?
printf("timeout=%ld\n", timeout) :
({
label:
printf("error\n");
goto label;
})
);
timeout--;
} while (timeout);
}
static void kb_wait_3(void)
{
unsigned long timeout = 2;
do {
(1 ?
printf("timeout=%ld\n", timeout) :
({
int i = 1;
goto label;
i = i + 2;
label:
i = i + 3;
})
);
timeout--;
} while (timeout);
}
static void kb_wait_4(void)
{
unsigned long timeout = 2;
do {
(1 ?
printf("timeout=%ld\n", timeout) :
({
switch(timeout) {
case 2:
printf("timeout is 2");
break;
case 1:
printf("timeout is 1");
break;
default:
printf("timeout is 0?");
break;
};
// return;
})
);
timeout--;
} while (timeout);
}
int main()
{
printf("begin\n");
kb_wait_1();
kb_wait_2();
kb_wait_2_1();
kb_wait_2_2();
kb_wait_3();
kb_wait_4();
printf("end\n");
return 0;
}