feat(argparse): 添加枚举类型选项支持

添加了对命令行参数枚举类型的支持,允许用户从预定义的选项中进行选择,
并在解析时进行验证。同时修复了空值检查问题。

refactor(mir): 重构pass管理系统

将原有的pass管理器系统简化为直接的pass执行函数,移除了复杂的
依赖管理和流水线构建机制,使系统更加简洁明了。

chore(ir): 添加Windows x64 ABI实现

实现了Windows x64平台的ABI约定,包括参数传递、寄存器使用和
栈帧布局的处理逻辑。

feat(config): 统一编译阶段控制配置

将多个独立的布尔类型编译阶段控制改为统一的枚举类型,便于
管理和扩展新的编译阶段。
This commit is contained in:
zzy
2026-05-10 15:02:36 +08:00
parent e5cb70732e
commit 902ee6dea3
13 changed files with 486 additions and 345 deletions

View File

@@ -218,10 +218,11 @@ static inline void scc_argparse_spec_setup_float(scc_argparse_spec_t *spec,
static inline void scc_argparse_spec_setup_choices(scc_argparse_spec_t *spec,
const char **values,
int count) {
int count, int *store) {
spec->value_type = SCC_ARGPARSE_VAL_TYPE_ENUM;
spec->choices.values = values;
spec->choices.count = count;
spec->store.int_store = store;
}
// 添加设置列表的辅助函数(内联)