diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-08-18 03:59:58 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-08-18 03:59:58 +0900 |
| commit | 991245b69c53b1e2f708af34b6f829182ebf5cf2 (patch) | |
| tree | 59ac5aa154ed0c60d036bacba1fdb9171f18fb94 /codegen.c | |
| parent | 2a7e1667f70c5381d3b939324cc647e51134b15c (diff) | |
| download | ducc-991245b69c53b1e2f708af34b6f829182ebf5cf2.tar.gz ducc-991245b69c53b1e2f708af34b6f829182ebf5cf2.tar.zst ducc-991245b69c53b1e2f708af34b6f829182ebf5cf2.zip | |
refactor: define va_start() as macro instead of special form
Diffstat (limited to 'codegen.c')
| -rw-r--r-- | codegen.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -297,8 +297,8 @@ void codegen_assign_expr(CodeGen* g, AstNode* ast) { void codegen_func_call(CodeGen* g, AstNode* ast) { const char* func_name = ast->name; - if (strcmp(func_name, "va_start") == 0) { - printf(" # va_start BEGIN\n"); + if (strcmp(func_name, "__ducc_va_start") == 0) { + printf(" # __ducc_va_start BEGIN\n"); for (int i = 0; i < 6; ++i) { printf(" mov rax, %s\n", param_reg(i)); printf(" mov [rbp-%d], rax\n", 8 + (LVAR_MAX - 4 - i) * 8); @@ -315,7 +315,7 @@ void codegen_func_call(CodeGen* g, AstNode* ast) { printf(" mov rdi, rbp\n"); printf(" sub rdi, %d\n", 8 + (LVAR_MAX - 4) * 8); printf(" mov QWORD PTR [rax+16], rdi\n"); - printf(" # va_start END\n"); + printf(" # __ducc_va_start END\n"); return; } |
