From 0577469f9c49473fe95eedfa27b0f282ac9ffdb6 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 14 Feb 2024 23:45:37 -0500 Subject: Bit flags for enums too --- compile.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compile.c b/compile.c index 8d3f9d8b..c15e2dd7 100644 --- a/compile.c +++ b/compile.c @@ -349,7 +349,9 @@ CORD compile(env_t *env, ast_t *ast) for (tag_ast_t *tag = def->tags; tag; tag = tag->next) { env->types = CORD_cat(env->types, "struct {\n"); for (arg_ast_t *field = tag->fields; field; field = field->next) { - CORD_appendf(&env->types, "%r %s;\n", compile_type(env, field->type), field->name); + CORD type = compile_type(env, field->type); + CORD_appendf(&env->types, "%r %s%s;\n", type, field->name, + CORD_cmp(type, "Bool_t") ? "" : ":1"); } CORD_appendf(&env->types, "} %s;\n", tag->name); } -- cgit v1.2.3