diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2020-03-26 17:41:38 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-26 17:41:38 +0000 |
| commit | 6bbecbe895a7b413dee61da772586be4e3138174 (patch) | |
| tree | a86e716cb2a519a7bff7a320821fbde7abd8673e /src/check_expr.cpp | |
| parent | 7909872877fd5c82c29df711f160838a7a4e59e1 (diff) | |
| parent | b21993a1c470a533a83e5b01274d3b026fb34f9b (diff) | |
Merge pull request #595 from odin-lang/llvm-integration
LLVM C API Integration
Diffstat (limited to 'src/check_expr.cpp')
| -rw-r--r-- | src/check_expr.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 4fdffcaa3..cda9debfa 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -5675,7 +5675,7 @@ isize add_dependencies_from_unpacking(CheckerContext *c, Entity **lhs, isize lhs c->decl = decl; // will be reset by the 'defer' any way for_array(k, decl->deps.entries) { Entity *dep = decl->deps.entries[k].ptr; - add_declaration_dependency(c, dep); // TODO(bill): Should this be here? + add_declaration_dependency(c, dep); // TODO(bill): Should this be here? } } } @@ -7257,6 +7257,16 @@ ExprKind check_call_expr(CheckerContext *c, Operand *operand, Ast *call, Type *t } Type *pt = base_type(proc_type); + + #if 0 + if (pt->kind == Type_Proc && pt->Proc.calling_convention == ProcCC_Odin) { + init_core_context(c->checker); + GB_ASSERT(t_context != nullptr); + GB_ASSERT(t_context->kind == Type_Named); + add_declaration_dependency(c, t_context->Named.type_name); + } + #endif + if (result_type == nullptr) { operand->mode = Addressing_NoValue; } else { @@ -7680,6 +7690,7 @@ ExprKind check_expr_base_internal(CheckerContext *c, Operand *o, Ast *node, Type return kind; } + pl->decl = decl; check_procedure_later(ctx.checker, ctx.file, empty_token, decl, type, pl->body, pl->tags); } check_close_scope(&ctx); |