- 所有 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 可以编译自身
19 行
414 B
C
19 行
414 B
C
// insert a space between two tokens if otherwise they
|
|
// would form a single token when read back
|
|
|
|
#define n(x) x
|
|
|
|
return (n(long)n(double))d;
|
|
return n(A)n(++)n(+)n(B);
|
|
return n(A)n(+)n(++)n(B);
|
|
return n(A)n(++)n(+)n(+)n(B);
|
|
|
|
// not a hex float
|
|
return n(0x1E)n(-1);
|
|
|
|
// unlike gcc but correct
|
|
// XXX: return n(x)+n(x)-n(1)+n(1)-2;
|
|
|
|
// unlike gcc, but cannot appear in valid C
|
|
// XXX: return n(x)n(x)n(1)n(2)n(x);
|