diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-07-29 06:04:29 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-08-15 10:04:35 +0900 |
| commit | bd5bbdebf116bb03da335d0e18a55a5597b55548 (patch) | |
| tree | 978a9c6c4240c6997dead272e33c0019c173734c /codegen.c | |
| parent | 53eec2c3f3e0de5b252215fb662e50e0c1829513 (diff) | |
| download | ducc-bd5bbdebf116bb03da335d0e18a55a5597b55548.tar.gz ducc-bd5bbdebf116bb03da335d0e18a55a5597b55548.tar.zst ducc-bd5bbdebf116bb03da335d0e18a55a5597b55548.zip | |
feat: function main() now returns zero if no return value are explicitly provided
Diffstat (limited to 'codegen.c')
| -rw-r--r-- | codegen.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -437,6 +437,10 @@ void codegen_func(CodeGen* g, AstNode* ast) { codegen_func_prologue(g, ast); codegen_stmt(g, ast->node_body); + if (string_equals_cstr(&ast->name, "main")) { + // C99: 5.1.2.2.3 + printf(" mov rax, 0\n"); + } codegen_func_epilogue(g, ast); printf("\n"); |
