- 所有 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 可以编译自身
27 行
531 B
C
27 行
531 B
C
#include <stdio.h>
|
|
struct wchar {
|
|
char *data; char mem[];
|
|
};
|
|
struct wint {
|
|
char *data; int mem[];
|
|
};
|
|
int f1char (void) {
|
|
char s[9]="nonono";
|
|
struct wchar q = {"bugs"};
|
|
return !s[0];
|
|
}
|
|
int f1int (void) {
|
|
char s[9]="nonono";
|
|
struct wint q = {"bugs"};
|
|
return !s[0];
|
|
}
|
|
int empty[] = {}; // GNU extension
|
|
int main (void) {
|
|
char s[9]="nonono";
|
|
static struct wchar q = {"bugs", {'c'}};
|
|
//printf ("pcc has %s %s\n", s, q.data);
|
|
if (f1char() || f1int())
|
|
printf ("bla\n");
|
|
return !s[0];
|
|
}
|