From fafca3bbe014c68c6944a9a58ac1052e1f98af1e Mon Sep 17 00:00:00 2001 From: Mustafa Quraish Date: Sun, 3 Dec 2023 19:12:01 -0500 Subject: [PATCH] Properly generate `true/false` for bools in format string --- compiler/passes/code_generator.oc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/compiler/passes/code_generator.oc b/compiler/passes/code_generator.oc index 5f46dd9..90eb675 100644 --- a/compiler/passes/code_generator.oc +++ b/compiler/passes/code_generator.oc @@ -166,8 +166,16 @@ def CodeGenerator::gen_format_string_variadic(&this, node: &AST, newline_after: .out.putc('"') for expr : exprs.iter() { + let expr_type = expr.etype.unaliased() .out.puts(", ") - .gen_expression(expr) + if expr_type.base == Bool { + .out.puts("((") + .gen_expression(expr) + .out.puts(") ? \"true\" : \"false\")") + + } else { + .gen_expression(expr) + } } }