aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2020-04-13 15:48:56 +0100
committergingerBill <bill@gingerbill.org>2020-04-13 15:48:56 +0100
commitf229084baa383ebd81c5d04db1ede5dc71017904 (patch)
treeb2f5f4ace82547fd96e1e6bf3279dd300272c928 /src/checker.cpp
parentf09b6a4c90805a562b2252430f844e85d06f1ee1 (diff)
Basic polymorphic named procedure parameters for procedures and records
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index 517a63506..026b1e7c1 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -885,6 +885,7 @@ void destroy_checker(Checker *c) {
Entity *entity_of_ident(Ast *identifier) {
+ identifier = unparen_expr(identifier);
if (identifier->kind == Ast_Ident) {
return identifier->Ident.entity;
}
@@ -1042,6 +1043,8 @@ void add_type_and_value(CheckerInfo *i, Ast *expr, AddressingMode mode, Type *ty
expr->tav.value = value;
} else if (mode == Addressing_Value && is_type_typeid(type)) {
expr->tav.value = value;
+ } else if (mode == Addressing_Value && is_type_proc(type)) {
+ expr->tav.value = value;
}
prev_expr = expr;