From 06f5270edfa8231025125909880af27d42e2e52b Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sat, 29 Nov 2025 11:14:14 -0500 Subject: Fix accidental naming collision with _tmp var --- src/compile/expressions.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/compile/expressions.c b/src/compile/expressions.c index 19e0672e..8b339352 100644 --- a/src/compile/expressions.c +++ b/src/compile/expressions.c @@ -28,9 +28,12 @@ Text_t compile_maybe_incref(env_t *env, ast_t *ast, type_t *t) { } return Texts(code, "})"); } else { - Text_t code = Texts("({ ", compile_declaration(t, Text("_tmp")), " = ", compile_to_type(env, ast, t), "; ", + static int64_t tmp_index = 1; + Text_t tmp_name = Texts("_tmp", tmp_index); + tmp_index += 1; + Text_t code = Texts("({ ", compile_declaration(t, tmp_name), " = ", compile_to_type(env, ast, t), "; ", "((", compile_type(t), "){"); - ast_t *tmp = WrapLiteralCode(ast, Text("_tmp"), .type = t); + ast_t *tmp = WrapLiteralCode(ast, tmp_name, .type = t); for (arg_t *field = Match(t, StructType)->fields; field; field = field->next) { Text_t val = compile_maybe_incref(env, WrapAST(ast, FieldAccess, .fielded = tmp, .field = field->name), get_arg_type(env, field)); -- cgit v1.2.3