diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-01-10 11:51:19 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-01-10 11:51:19 +0900 |
| commit | 1ee69b6b1383f03fb8e060196ed781c171561d45 (patch) | |
| tree | edc6e472a5ada70f5e454ac236df1228dc5e5bab /src/codegen.c | |
| parent | 175b00181b627bec69f645d6d8fc880a2bdd3f81 (diff) | |
| download | ducc-1ee69b6b1383f03fb8e060196ed781c171561d45.tar.gz ducc-1ee69b6b1383f03fb8e060196ed781c171561d45.tar.zst ducc-1ee69b6b1383f03fb8e060196ed781c171561d45.zip | |
feat: support (void) cast
Diffstat (limited to 'src/codegen.c')
| -rw-r--r-- | src/codegen.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/codegen.c b/src/codegen.c index be8acd7..e0e0b19 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -148,6 +148,10 @@ static void codegen_deref_expr(CodeGen* g, AstNode* ast, GenMode gen_mode) { static void codegen_cast_expr(CodeGen* g, AstNode* ast) { codegen_expr(g, ast->node_operand, GenMode_rval); + // (void) cast does nothing. + if (ast->ty->kind == TypeKind_void) + return; + int src_size = type_sizeof(ast->node_operand->ty); int dst_size = type_sizeof(ast->ty); |
