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

View File

@@ -1532,19 +1532,6 @@ gb_internal bool check_proc_body(CheckerContext *ctx_, Token token, DeclInfo *de
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;
}
}
}
}
}

View File

@@ -5418,9 +5418,8 @@ gb_internal CALL_ARGUMENT_CHECKER(check_call_arguments_internal) {
data->score = score;
data->result_type = final_proc_type->Proc.results;
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;