Skip to content

Commit c44fa46

Browse files
committed
test
1 parent 457251c commit c44fa46

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

codegen.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5323,20 +5323,23 @@ int codegen(Obj *prog, FILE *out) {
53235323
}
53245324
var->is_definition = false;
53255325
var->output = NULL;
5326+
continue;
53265327
}
5328+
if (var->alias_name)
5329+
var->is_definition = false;
53275330
}
53285331

53295332
for (Obj *var = prog; var; var = var->next) {
5330-
if (var->is_definition) {
5331-
if (!var->is_static || var->is_used)
5333+
if (!var->is_static || var->is_used) {
5334+
if (var->alias_name)
5335+
mark_alias_live(var->alias_name);
5336+
else if (var->is_definition)
53325337
mark_live(var);
5333-
} else if (!var->is_static && var->alias_name) {
5334-
mark_alias_live(var->alias_name);
53355338
}
53365339
}
53375340
for (Obj *var = prog; var; var = var->next) {
53385341
if (!var->is_definition) {
5339-
if ((!var->is_static && var->alias_name) ||
5342+
if (((!var->is_static || var->is_used) && var->alias_name) ||
53405343
(var->is_live && (var->is_weak || var->visibility))) {
53415344
if (var->is_weak)
53425345
Printftn(".weak \"%s\"", asm_name(var));

0 commit comments

Comments
 (0)