Fix issue that conflicts with constant parapoly procedures and deferred_* procedures

This commit is contained in:
gingerBill
2023-02-19 12:10:28 +00:00
parent a28699b42d
commit 20eacc4a84
2 changed files with 2 additions and 16 deletions
-13
View File
@@ -1532,19 +1532,6 @@ gb_internal bool check_proc_body(CheckerContext *ctx_, Token token, DeclInfo *de
break; break;
} }
} }
// Add constant data to the identifier directly
for (Entity *e : params->variables) {
if (e->kind == Entity_Constant) {
Ast *ident = e->identifier.load();
if (ident) {
add_entity(ctx, e->scope, ident, e);
ident->tav.mode = Addressing_Constant;
ident->tav.value = e->Constant.value;
ident->tav.type = e->type;
}
}
}
} }
} }
+2 -3
View File
@@ -5418,9 +5418,8 @@ gb_internal CALL_ARGUMENT_CHECKER(check_call_arguments_internal) {
data->score = score; data->score = score;
data->result_type = final_proc_type->Proc.results; data->result_type = final_proc_type->Proc.results;
data->gen_entity = gen_entity; data->gen_entity = gen_entity;
if (!are_types_identical(final_proc_type, ce->proc->tav.type)) {
add_type_and_value(c, ce->proc, Addressing_Value, final_proc_type, {}); add_type_and_value(c, ce->proc, Addressing_Value, final_proc_type, {});
}
} }
return err; return err;