From f026d721ef6e1708b4ec28fdb68179cb7dda75d0 Mon Sep 17 00:00:00 2001 From: Zuhaitz Méndez Fernández de Aránguiz Date: Sat, 17 Jan 2026 00:58:40 +0000 Subject: Modify codegen to add a dummy member for empty structs. --- src/codegen/codegen_decl.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/codegen/codegen_decl.c') diff --git a/src/codegen/codegen_decl.c b/src/codegen/codegen_decl.c index 18e6987..0ee4cd6 100644 --- a/src/codegen/codegen_decl.c +++ b/src/codegen/codegen_decl.c @@ -273,7 +273,15 @@ void emit_struct_defs(ParserContext *ctx, ASTNode *node, FILE *out) fprintf(out, "struct %s {", node->strct.name); } fprintf(out, "\n"); - codegen_walker(ctx, node->strct.fields, out); + if (node->strct.fields) + { + codegen_walker(ctx, node->strct.fields, out); + } + else + { + // C requires at least one member in a struct. + fprintf(out, " char _placeholder;\n"); + } fprintf(out, "}"); if (node->strct.is_packed && node->strct.align) -- cgit v1.2.3