diff options
| author | gingerBill <bill@gingerbill.org> | 2019-10-31 18:25:39 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2019-10-31 18:25:39 +0000 |
| commit | ee8d3e03f89b1f8065fc9563d84830482bc3f387 (patch) | |
| tree | 756f336baf179972c4cf689c9c61a8d9b4ff6db7 /src/check_expr.cpp | |
| parent | 4aad45e3e7a500d6c86b0056ca5160c7d55ccc60 (diff) | |
Delay determination of procedure abi types until as late as possible to prevent type undetermination in self-referential data types #454
Diffstat (limited to 'src/check_expr.cpp')
| -rw-r--r-- | src/check_expr.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp index b5d24e008..51497af7e 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -89,7 +89,7 @@ Type * check_init_variable (CheckerContext *c, Entity *e, Operand * Type *type_to_abi_compat_param_type(gbAllocator a, Type *original_type, ProcCallingConvention cc); Type *type_to_abi_compat_result_type(gbAllocator a, Type *original_type, ProcCallingConvention cc); bool abi_compat_return_by_pointer(gbAllocator a, ProcCallingConvention cc, Type *abi_return_type); -void set_procedure_abi_types(CheckerContext *c, Type *type); +void set_procedure_abi_types(gbAllocator a, Type *type); void check_assignment_error_suggestion(CheckerContext *c, Operand *o, Type *type); Entity *entity_from_expr(Ast *expr) { @@ -963,7 +963,7 @@ bool is_polymorphic_type_assignable(CheckerContext *c, Type *poly, Type *source, } if (modify_type) { - set_procedure_abi_types(c, source); + set_procedure_abi_types(c->allocator, source); } return true; |