From db57dd8732d4dccbf1884ad97f87a3f22a2aef9c Mon Sep 17 00:00:00 2001 From: nsfisis Date: Mon, 18 Aug 2025 22:19:34 +0900 Subject: refactor: make temporary variables anonymous to avoid unintentional name collision --- parse.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'parse.c') diff --git a/parse.c b/parse.c index 1ee9ce7..969db38 100644 --- a/parse.c +++ b/parse.c @@ -151,21 +151,10 @@ int add_lvar(Parser* p, const char* name, Type* ty, BOOL is_param) { return stack_offset; } -char* generate_temporary_lvar_name(Parser* p) { - char* buf = calloc(256, sizeof(char)); - for (int i = 1;; ++i) { - sprintf(buf, "__%d", i); - if (find_lvar(p, buf) == -1) { - return buf; - } - } -} - AstNode* generate_temporary_lvar(Parser* p, Type* ty) { - const char* name = generate_temporary_lvar_name(p); - int stack_offset = add_lvar(p, name, ty, FALSE); + int stack_offset = add_lvar(p, NULL, ty, FALSE); AstNode* lvar = ast_new(AstNodeKind_lvar); - lvar->name = name; + lvar->name = NULL; lvar->node_stack_offset = stack_offset; lvar->ty = ty; return lvar; -- cgit v1.2.3-70-g09d2