aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/check_expr.cpp')
-rw-r--r--src/check_expr.cpp13
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);