feat(ir2mcode): 添加IR到机器码转换功能并修复函数命名
添加了完整的scc_ir2mcode实现,将MIR指令转换为机器码, 同时修复了头文件中的函数命名错误(scc_mir2sccf改为scc_ir2sccf)。 BREAKING CHANGE: 函数名从scc_mir2sccf更改为scc_ir2sccf fix(vec): 修复向量循环和内存释放问题 修改了scc_vec_foreach宏使用+= 1避免潜在的编译器警告, 并添加了空指针检查以防止重复释放内存导致的崩溃。 refactor(hashtable): 优化哈希表接口设计 将scc_hashtable_get参数改为const类型,提供更好的只读访问安全性。 test: 添加break/continue和goto语句测试用例 新增18_break_continue.c和19_goto.c测试用例, 并对齐expect.toml文件格式以便于维护。
This commit is contained in:
@@ -2,22 +2,24 @@
|
||||
# windows powershell: echo $LASTEXITCODE
|
||||
# nushell: echo $env.LAST_EXIT_CODE
|
||||
# bash: echo $?
|
||||
"./return_val_cases/01_return.c" = 65536
|
||||
"./return_val_cases/02_decl_expr.c" = 1
|
||||
"./return_val_cases/03_decl_init.c" = 11
|
||||
"./return_val_cases/04_if.c" = 1
|
||||
"./return_val_cases/05_else.c" = 2
|
||||
"./return_val_cases/06_fcall.c" = 3
|
||||
"./return_val_cases/07_while.c" = 10
|
||||
"./return_val_cases/08_do_while.c" = 128
|
||||
"./return_val_cases/09_for.c" = 10
|
||||
"./return_val_cases/10_main.c" = 3
|
||||
"./return_val_cases/11_recursive.c" = 120
|
||||
"./return_val_cases/12_logic.c" = 10
|
||||
"./return_val_cases/13_array.c" = 1198
|
||||
"./return_val_cases/14_pointer.c" = 2
|
||||
"./return_val_cases/01_return.c" = 65536
|
||||
"./return_val_cases/02_decl_expr.c" = 1
|
||||
"./return_val_cases/03_decl_init.c" = 11
|
||||
"./return_val_cases/04_if.c" = 1
|
||||
"./return_val_cases/05_else.c" = 2
|
||||
"./return_val_cases/06_fcall.c" = 3
|
||||
"./return_val_cases/07_while.c" = 10
|
||||
"./return_val_cases/08_do_while.c" = 128
|
||||
"./return_val_cases/09_for.c" = 10
|
||||
"./return_val_cases/10_main.c" = 3
|
||||
"./return_val_cases/11_recursive.c" = 120
|
||||
"./return_val_cases/12_logic.c" = 10
|
||||
"./return_val_cases/13_array.c" = 1198
|
||||
"./return_val_cases/14_pointer.c" = 2
|
||||
"./return_val_cases/15_array_subscript.c" = 1198
|
||||
"./return_val_cases/16_enum.c" = 5
|
||||
"./return_val_cases/17_more_arg.c" = 45
|
||||
"./return_val_cases/16_enum.c" = 5
|
||||
"./return_val_cases/17_more_arg.c" = 45
|
||||
"./return_val_cases/18_break_continue.c" = 676
|
||||
"./return_val_cases/19_goto.c" = 676
|
||||
[stdout_val_cases]
|
||||
"./stdout_val_cases/01_include.c" = "Hello World!\n"
|
||||
|
||||
Reference in New Issue
Block a user