aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-01-10 11:51:19 +0900
committernsfisis <nsfisis@gmail.com>2026-01-10 11:51:19 +0900
commit1ee69b6b1383f03fb8e060196ed781c171561d45 (patch)
treeedc6e472a5ada70f5e454ac236df1228dc5e5bab /src
parent175b00181b627bec69f645d6d8fc880a2bdd3f81 (diff)
downloadducc-1ee69b6b1383f03fb8e060196ed781c171561d45.tar.gz
ducc-1ee69b6b1383f03fb8e060196ed781c171561d45.tar.zst
ducc-1ee69b6b1383f03fb8e060196ed781c171561d45.zip
feat: support (void) cast
Diffstat (limited to 'src')
-rw-r--r--src/codegen.c4
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);